草庐IT

get_declared_classes

全部标签

java 8 : difference between class. getName() 和字符串文字

这个问题在这里已经有了答案:Javaswitchstatement:Constantexpressionrequired,butitISconstant(14个答案)关闭7年前。我正在研究switchcase。如果我们使用class.getName(),那么,我会收到“case表达式必须是常量表达式”的错误,如下所示:switch(param.getClass().getName()){caseString.class.getName()://todobreak;}即使我们执行以下操作,将字符串类名作为常量,然后也会出现相同的错误:publicstaticfinalStringPARA

Java 泛型,创建 Class<T> 的实例

我正在尝试编写一个通用方法来将json反序列化到我的模型中。我的问题是我不知道如何从泛型类型T中获取Class。我的代码看起来像这样(并且不会以这种方式编译)publicclassJsonHelper{publicTDeserialize(Stringjson){Gsongson=newGson();returngson.fromJson(json,Class);}}我尝试了其他方法来获取类型,但它抛出了一个错误,我将类设置为JsonHelper然后尝试这个ClasspersistentClass=(Class)((ParameterizedType)getClass().getGen

java - 如何检查作为 Class 对象的参数的 instanceof?

我正在尝试构建一个通用类加载器。我需要根据方法参数检查加载的类,以确定它们是否属于同一类。代码主要解释了我要做什么。privatestaticLinkedListloadObjectsInDirectory(Classclass0,Filedir)throwsClassNotFoundException{LinkedListobjects=newLinkedList();ClassLoadercl=newGenericClassLoader();for(Strings:dir.list()){Classclass1=cl.loadClass(s);try{Objectx=class1.

java - 子类是否继承父类(super class)的私有(private)实例变量

Dosubclassesinheritprivatefields?这个问题解决了同样的问题,但我不太明白它如何满足下面(看似)矛盾的情况。http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html表示“子类不继承其父类的私有(private)成员。”这意味着它既不继承私有(private)实例变量也不继承私有(private)方法,对吧?但是,如果它从其父级继承公共(public)访问器方法,这将如何工作?它返回一个它不知道存在的实例变量?此外,我的计算机科学书籍(Baron的APComputerScienceA)

java - (JAVA) 使用命令提示符从多个 .class 文件创建 .jar 文件

我编写了一个名为Main.java的.java文件,并使用Windows命令提示符中的javac对其进行了编译。编译器正在创建多个.class文件(称为Main.class、Main$1.class和Main$2.class——大概是因为我的Main.java文件中有匿名内部类)。我正在尝试创建一个可运行的.jar文件,这样我就可以双击快捷方式来运行这个应用程序(它是一个JavaSwing应用程序),但是当我导航到三个类文件的目录并键入时我没有成功:jarcfvfile.jarMain.classMain$1.classMain$2.class命令提示符然后输出此文本:addedman

java - Joda Time : Get first/second/last sunday of month

在纯Java中,我有这段代码可以获取该月的最后一个星期日。CalendargetNthOfMonth(intn,intday_of_week,intmonth,intyear){CalendarcompareDate=Date(1,month,year);compareDate.set(DAY_OF_WEEK,day_of_week);compareDate.set(DAY_OF_WEEK_IN_MONTH,n);returncompareDate;}//UsageCalendarlastSundayOfNovember=getNthOfMonth(-1,SUNDAY,NOVEMBER

java - Java同步HashMap中的size()、put()、remove()、get()是原子的吗?

我将JavaMap声明为Mapmap=Collections.synchronizedMap(newHashMap());处理并发问题,对map上的所有操作进行同步。但是,我读到当操作是原子操作时,同步在synchronizedMap上不是必需的。我检查了JavaAPI,HashMap的文档似乎没有提到哪些是原子的,所以我不确定哪些是原子的。我正在同步对map的以下调用:map.size()map.put()map.remove()map.get()但是如果有些是原子的,那么似乎不需要同步。哪些是原子的? 最佳答案 同步map顾名思

java - eclipse : manually select main class for executable jar file

我有java项目和许多具有main方法的类(仅用于测试目的)。当我通过Eclipse创建可执行jar文件时,Eclipse会自动选择哪个文件是主类。(而且经常是错误的)。还有一种方法是在Jar文件中更改list文件中的主类。但是,它非常方便。所以,我的问题是:如何在创建Jar文件时手动选择它。谢谢:) 最佳答案 Eclipse将设置您告诉它设置的类。该向导有一个用于执行此操作的按钮。菜单:导出Java,JAR文件下一步(选择要包含的类(class))输入jar的名称和路径下一个(未完成)下一步浏览主类。或者如果您创建一个“可运行的J

java - 父类(super class)对子类对象的引用显示与子类对子类对象的引用相同的行为

Java中的以下代码,当在elipse上运行时,即使我们替换也会给出相同的输出superclasss=newsub();与,subs=newsub();请注意,我们已经覆盖了方法。输出是:changedsupermethodinsubclassnumissubclass5代码:publicclasssuperclass{intnum=2;publicstaticvoidmain(Stringstr[]){superclasss=newsub();//HERE:nothingchangesifwewrite,subs=newsub();s.supermethod();s.method()

java - MyClass.class 和 Class.forName ("className"之间的区别)

我们可以通过3种方法获取类Class对象:MyClass.classobj.getClassClass.forName("类名")我不明白:MyClass.class和Class.forName("className")之间的区别。因为两者都需要类名。 最佳答案 Class.forName("className");forName是类“Class”的静态方法。我们需要提供所需类的完全限定名称。这可以在类名在运行时已知时使用。ClassName.class;.class不是方法,它是关键字,可以与int这样的原始类型一起使用。当事先知