This question already has answers here:
How is hashCode() calculated in Java

(9个答案)


已关闭8年。




我了解到,哈希码是一个唯一标识引用号,它是一个十六进制数。
我的疑问是,引用数字代表对象的内存地址吗?

例如:
Employeee e1=new Employee();
System.out.println(e1.hashcode());

这段代码会返回我对象的内存地址吗?

最佳答案

哈希码不是唯一的标识。它只是一个数字,可以帮助您区分对象。两个不同的对象可能具有相同的哈希码,这很好。

HashCode的特征:

  • 如果obj1和obj2相等,则它们必须具有相同的哈希码。
  • 如果obj1和obj2具有相同的哈希码,则它们不必相等。
  • 关于java - 哈希码号代表内存地址吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16418713/

    10-10 15:10