草庐IT

private_class_greeter

全部标签

java - 不再需要 Class.forName(JDBC_DRIVER)?

我在这里读到,从Java6开始,您不再需要使用以下方式注册JDBC驱动程序:Class.forName(JDBC_DRIVER);因为DriverManager使用位于系统属性"jdbc.drivers"中的路径检索正确的驱动程序。但是当我执行以下操作时:System.out.print(System.getProperty("jdbc.drivers"));null被打印出来。你知道我的应用程序为什么能正常运行吗??;) 最佳答案 这与该系统属性无关。Java6(和JDBC4)引入了一个称为“serviceprovider”的概念

java - Gradle Output Jar 没有 Main-Class

我有以下简单的build.gradle文件:applyplugin:'application'applyplugin:'java'mainClassName='com.kurtis.HelloGradle'下面的单个java文件位于src/main/java/com/kurtis/HelloGradle.java:packagecom.kurtis;publicclassHelloGradle{publicstaticvoidmain(String[]args){System.out.println("Hellogradle");}}但是,如果我运行gradlebuild,我会在bui

java - maven-bundle-plugin 失败并显示 "Invalid class file module-info.class"

添加包含JPMS模块的依赖项后,maven-bundle-plugin(版本3.3.0)失败并显示:[INFO]---maven-bundle-plugin:3.3.0:bundle(default-bundle)@my-bundle---[ERROR]BundlemyGroup:my-bundle:bundle:1.0:Exception:java.lang.ArrayIndexOutOfBoundsException:19[ERROR]BundlemyGroup:my-bundle:bundle:1.0:Invalidclassfilemodule-info.class(java.

java - 是否可以使用反射从 Java 类中检索所有成员,包括私有(private)成员?

例如,我希望能够写作Method[]getMethods(Classc)这会和现有的做同样的事情Class.getMethods()但也包括私有(private)和protected方法。我有什么想法可以做到这一点吗? 最佳答案 publicMethod[]getMethods(Classc){Listmethods=newArrayList();while(c!=Object.class){methods.addAll(Arrays.asList(c.getDeclaredMethods()));c=c.getSuperclass

java - 在什么情况下父类(super class)不应该是抽象的?

在this线程我发现了一些有趣的时刻,如果类仅用作父类(superclass),则没有规则使其抽象。为什么这样?谢谢 最佳答案 这完全取决于拥有该类的实例是否有意义。假设您有一个类Dog和一个类Cat。它们都扩展了Animal。现在一个Animal可能有一个名字和一些方法,但是让Animal跑来跑去是没有意义的。Animal是……一个抽象的概念。在其他情况下,您可能有子类(例如LinkedHashSetextendsHashSet),但实例化父类(superclass)(HashSet)仍然很有意义在这种情况下)。要回答您的评论,“

java - 非公有或非私有(private)的变量-Java

各位程序员大家好,如果一个变量被定义为不是在方法外定义的public或private比如:Graphicsgoff;Imageii;Threadthethread;变量将被定义为什么? 最佳答案 没有任何显式修饰符定义的变量将具有package-private的访问级别。这些变量只能在它自己的包中访问。您可以阅读有关javahere的访问/变量范围级别的更多信息. 关于java-非公有或非私有(private)的变量-Java,我们在StackOverflow上找到一个类似的问题:

java - JNDI "Cannot instantiate class: org.jboss.naming.remote.client.InitialContextFactory"

我正在为EJB使用JBoss服务器,我需要在控制台应用程序中使用JNDI来获取sessionbean的引用,控制台应用程序代码如下所示importjava.util.Properties;importjavax.naming.InitialContext;importjavax.naming.NamingException;publicclassProgram{publicstaticvoidmain(String[]args)throwsNamingException{//TODOAuto-generatedmethodstubPropertiespr=newProperties()

java - 使用 Class 作为 HashMap 的键是否会导致不良影响?

考虑以下几点:Map,Object>myMap=newHashMap,Object>();FoofooObject=NewFoo();myMap.put(fooObject.getClass(),fooObject)注意java.lang.Class本身并没有实现hashCode()方法,而是隐式地从java.lang.Object继承了它。我在JDK1.8中验证了这一点。java.lang.Class用作java.util.HashMap的键是否安全?myMap.get(Foo.class)是否总是返回我输入的值,如myMap.put(fooObject.getClass(),foo

java - 按其变量之一排序 List<Class>

我有一个Class1publicclassClass1{publicClass(Strings,int[]s1,intsoc){this.s=s;this.s1=s1;this.soc=soc}}我有一个List的Class1(List)。我想按soc对列表进行排序,得到Class1最高soc第一 最佳答案 使用比较器Collections.sort(list,newComparator(){publicintcompare(Class1c1,Class1c2){if(c1.soc>c2.soc)return-1;if(c1.soc

java - 为什么允许访问另一个对象的私有(private)字段?

最近,我观察到在Java中访问priavte字段的意外行为。考虑以下示例,它说明了行为:publicclassA{privateinti;为什么我可以在foo方法中访问类A的另一个对象的私有(private)字段(第二种情况)? 最佳答案 私有(private)字段保护的是一个类,而不是一个实例。主要目的是允许类独立于其API实现。在它们之间隔离实例,或保护实例的代码免受同一类的静态代码的影响将不会带来任何结果。 关于java-为什么允许访问另一个对象的私有(private)字段?,我们