Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 同一类的两个类是否具有相同的哈希代码,它们是否被视为相等?_Java - Fatal编程技术网

Java 同一类的两个类是否具有相同的哈希代码,它们是否被视为相等?

Java 同一类的两个类是否具有相同的哈希代码,它们是否被视为相等?,java,Java,我想创建一个类的hashmap,比如(Object.class)。我想知道 Object.class是否被视为等同于另一个Object.class Object.class是否还有另一个实例导致它具有不同的hashcode?在给定的类加载器中,对于每个加载的类,都有一个类型为class的对象 x1.getClass()和x2.getClass()返回相同的引用,只要x1和x2具有相同的动态类型。文本对象。class将始终在相同的类加载器中返回相同的引用 发件人: 类文本计算为当前实例类的定义类装

我想创建一个类的hashmap,比如(Object.class)。我想知道

Object.class是否被视为等同于另一个Object.class


Object.class是否还有另一个实例导致它具有不同的hashcode?

在给定的类加载器中,对于每个加载的类,都有一个类型为
class
的对象


x1.getClass()
x2.getClass()
返回相同的引用,只要
x1
x2
具有相同的动态类型。

文本
对象。class
将始终在相同的类加载器中返回相同的引用

发件人:

类文本计算为当前实例类的定义类装入器定义的命名类型(或void)的类对象

注意上面引文中的定冠词(“the”),在同一个类加载器中,任何特定类只有一个
Class
对象


因此,是的,您将获得相同的哈希代码-因为您将有两个对同一对象的引用。

由于每个类型化类只有一个.class对象的实例,所有引用都将指向同一对象(object.class),因此将具有相同的哈希代码(因为基础对象是相同的)