使用相等运算符比较两个类

aus*_*ser 7 java

使用相等运算符比较Class实例有哪些缺陷?

boolean compareTypes(Class<?> clazz, Class<?> rootClazz) {
    return clazz == rootClazz;
}
Run Code Online (Sandbox Code Playgroud)

Ern*_*ill 13

真的没有陷阱 ; 如果您期望实际行为,它的行为就像您期望的那样:)此外,对象的equals()方法Class只是继承的方法,无论如何Object都使用==运算符.

唯一令人惊讶的部分是,如果同一个类文件由两个不同的类加载器加载,您将获得两个单独的类对象,它们将作为比较false.这是设计的.