特别是当它们与移动的垃圾收集器一起使用时。无法使用对象的当前内存位置,因为它可以在下一个集合中更改,那么什么用作对象哈希?
答案 0 :(得分:5)
希望这个问题有所帮助:How does the JVM ensure that System.identityHashCode() will never change?
另外http://xiao-feng.blogspot.com/2007/04/object-hashcode-implementation.html
答案 1 :(得分:0)
保罗在他的评论中指出,System.identityHashCode()
用于此。来自javadocs:
返回与默认方法hashCode()返回的给定对象相同的哈希码,无论给定对象的类是否覆盖hashCode()。空引用的哈希码为零。
所以,实际上,问题归结为“什么是默认的hashCode算法?