草庐IT

object_class

全部标签

java - java.util.Set.contains(Object o) 的奇怪行为

doc关于java.util.Set.contains(Objecto)说:Returnstrueifandonlyifthissetcontainsanelementesuchthat(o==null?e==null:o.equals(e)).也就是说,这是一个POJO(如您所见,我重写了它的equals方法):publicclassMonthAndDay{privateintmonth;privateintday;publicMonthAndDay(intmonth,intday){this.month=month;this.day=day;}@Overridepublicbool

java - 类数组列表 : ArrayList<Class> but how to force those classes to extend some super class?

我想管理类的ArrayList。例如,我有3种类型的过滤器:TextFilter、DurationFilter和扩展Filter的TimeFilter。这似乎是正确的:Listfilters=newArrayList();filters.add(TextFilter.class);filters.add(DurationFilter.class);filters.add(TimeFilter.class);但是现在我想用来限制ArrayList类型Listfilters=newArrayList();filters.add(TextFilter.class);filters.add(D

java - 智能 J : cannot create class-file?

老实说,这是一个小问题,但它让我无法继续使用我的小型Java练习应用程序。我目前正在练习用Java进行API调用。我试图创建一个名为“Film”的简单类文件。但是,当我尝试将其创建为类文件时,Intelli-J一直告诉我它无法创建类文件。我正在尝试将此文件设置在名为“models”的文件夹中。所有这些类文件都将用作执行API调用的应用程序的一部分。有没有我没有遵循的命名约定?我一直在谷歌搜索,但没有真正找到任何东西。 最佳答案 更直接地说,根据@VishalJumani提到的内容,您需要告诉IntelliJ哪些目录是“源”或“测试”

java - null != object 和 object!=null 有什么区别

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicates:whichwayisbetter“null!=object”or“object!=null”?Whydoesoneoftensee“null!=variable”insteadof“variable!=null”inC#?‘…!=null’or‘null!=…’bestperformance?请指导我。null!=object和object!=null有什么区别"".equal("something")和"something".equals("")相同加工哪个好。

java - isAnnotationPresent() 在 Java 中与父类(super class)型引用一起使用时返回 false

我正在尝试使用反射从父类(superclass)型引用变量中获取注释详细信息,以使该方法接受所有子类型。但是isAnnotationPresent()返回false。与其他注解相关的方法相同。如果用于确切的类型,则输出符合预期。我知道注释信息将在对象上可用,即使我通过父类(superclass)型引用也是如此。@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.TYPE})public@interfaceTable{Stringname();}@Table(name="some_table")publicclassSomeEn

java - 我的类(class)线程安全吗?如果不是为什么?

我的类是线程安全的吗?如果不是,为什么?classFoo{booleanb=false;voiddoSomething()throwsException{while(b)Thread.sleep();}voidsetB(booleanb){this.b=b;}} 最佳答案 代码不是线程安全的,因为正在运行的线程可能会看到更改,直到代码被编译(可能在稍后的随机点)并且您不再看到更改。顺便说一句:这使得测试变得非常困难。例如如果您睡1秒钟,您可能会在将近三个小时内看不到这种行为。即它可能有效,也可能无效,你不能仅仅因为它有效就说它会继续

java - 父类(super class)不调用重写的方法吗?

我有以下类(class):classfoo{publicvoida(){print("a");}publicvoidb(){a();}}classbarextendsfoo{publicvoida(){print("overwrittena");}}当我现在调用bar.b()时,我希望它调用foo中重写的方法a()。但是,它确实会打印“a”。 最佳答案 你的两个类在不同的包中吗?你的foo类方法是声明为public、protected、private还是packagelocal?显然,如果他们是私有(private)的,这将行不通。

java - 为什么使用 "this"关键字来获取父类(super class)方法

我看到一些Java示例使用this关键字来获取父类(superclass)方法。示例:this.superClassMethod()。通常情况下我们会使用super。有人可以举例说明为什么开发人员使用this而不是super吗?谢谢你。 最佳答案 this.method()和super.method()没有区别,直到method()得到在调用者的类中覆盖。例如,用classSuperClass{publicvoidmethod(){System.out.println("SuperClass");}}classSubClassext

java - 如何将 List<Object> 转换为逗号分隔的字符串

我正在获取Address的列表来自数据库调用的对象。ArrayListaddresses=newArrayList();每个Address有一个intaddressId属性(property)。我正在IN中编写更新查询条款我正在发送Address的整个列表对象,我正在获取ibatisTypeException.如何转换List到可以发送到更新查询的逗号分隔字符串?我的更新查询看起来像:::Updatetablenamesetpostcode=#{postCode}whereidin#{addressID}. 最佳答案 使用Java8

java - 当枚举类型引用是 Class<?> 时,如何将 String 转换为枚举值?

我有代码使用其setter方法在对象上设置值。其中一个setter将Enum类型作为方法参数。代码看起来像这样:Stringvalue="EnumValue1";Methodsetter=getBeanWriteMethod("setMyEnumValue");Classtype=setter.getParameterTypes()[0];ObjectconvertedValue=null;if(type.isEnum()){convertedValue=convertToEnum(value,type);}else{convertedValue=ClassUtils.convertT