参见英文答案 >
How to get the unique ID of an object which overrides hashCode()?9个
我做了一个矢量集,以避免使用迭代器分配等来跳过GC
(对于HashSet的值或键的每次遍历,您都可以为set reference和set iterator获得新的/免费的)
我做了一个矢量集,以避免使用迭代器分配等来跳过GC
(对于HashSet的值或键的每次遍历,您都可以为set reference和set iterator获得新的/免费的)
反正应该是Object.hashCode()方法是每个对象唯一的id. (64位版本失败?)
但是无论如何,它是可以覆盖的,因此不能保证是唯一的,也不是唯一的每个对象实例.
如果我想创建一个“ObjectSet”,如何获得一个对象的每个实例的保证的唯一ID?
我刚刚发现这个:哪个答案.
How to get the unique ID of an object which overrides hashCode()?
解决方法
java.lang.System.identityHashCode(OBJ);如果您真的需要它并且了解影响,将为您做这个.它获得身份哈希码,即使提供哈希码的方法已被覆盖.