如何恢复原始哈希码?

时间:2013-09-18 19:25:35

标签: java hashcode override

在java中,如果哈希码方法已被覆盖,我们如何获取对象的原始哈希码值?

3 个答案:

答案 0 :(得分:3)

您可以使用System.identityHashCode(Object)方法。

  

返回与默认方法hashCode()返回的给定对象相同的哈希码,无论给定对象的类是否覆盖hashCode()null引用的哈希码为零。

答案 1 :(得分:1)

对于Object哈希码,请使用System.identityHashCode(Object o)。这个静态方法将提供Object#hashCode - 类似hashCodes,或0为null。

答案 2 :(得分:0)

System.identityHashCode(object)应该为您提供原始哈希码,无论重写的hashcode()方法返回什么。