同一个类的两个类是否具有相同的哈希码,它们被认为是相同的吗?

den*_*iss 4 java

我想创建类(Object.class)类的哈希映射.我想知道是否

Object.class被认为等于另一个Object.class?

可以有另一个Object.class实例导致它有不同的哈希码吗?

Jon*_*eet 5

文字Object.class将始终在同一个类加载器中返回相同的引用.

JLS第15.8.2节开始:

类文本计算为由当前实例的类的定义类加载器定义的命名类型(或void)的Class对象.

请注意上面引用中的定冠词("the") - 在同一个类加载器中,任何特定类只有一个 Class对象.

所以是的,你会得到相同的哈希码 - 因为你将有两个对同一个对象的引用.