java使用相等运算符比较两个类
使用相等运算符比较类实例有哪些缺陷
boolean compareTypes(Class<?> clazz, Class<?> rootClazz) {
return clazz == rootClazz;
}
你可以在下面搜索框中键入要查询的问题!
使用相等运算符比较类实例有哪些缺陷
boolean compareTypes(Class<?> clazz, Class<?> rootClazz) {
return clazz == rootClazz;
}
# 1 楼答案
这样做可能更明智
或者
getName()
的某些版本,例如getSimpleName()
# 2 楼答案
没有真正的陷阱;它的行为与您预期的一样,如果您预期实际的行为:)此外,
Class
对象的equals()
方法只是从Object
继承的方法,它使用==
操作符唯一令人惊讶的是,如果同一个类文件由两个不同的类加载器加载,您将得到两个单独的类对象,它们将作为
false
进行比较。这是故意的