我们可以做一个==
on a Class
变量而不是equals
并期望相同的结果?
例如:
Class clazz = xyz;
Case A:
if(clazz == Date.class) {
// do something
}
Case B:
if(Date.class.equals(clazz)) {
// do something
}
案例 A 和案例 B 的功能相同吗?
类是最终类,因此它的 equals() 不能被覆盖。它的 equals() 方法是从 Object 继承的,它读取
public boolean equals(Object obj) {
return (this == obj);
}
所以是的,对于类或任何不重写的类型来说它们是相同的equals(Object)
要回答你的第二个问题,每个类加载器只能加载一个类一次,并且对于给定的完全限定名称始终会为你提供相同的类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)