如何在Java中获取每个对象的唯一ID?

参见英文答案 > How to get the unique ID of an object which overrides hashCode()?9个
我做了一个矢量集,以避免使用迭代器分配等来跳过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);如果您真的需要它并且了解影响,将为您做这个.它获得身份哈希码,即使提供哈希码的方法已被覆盖.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...