如何获取实例编号

时间:2010-11-25 19:59:29

标签: java

有没有办法获取实例编号或ID,我的意思是你可以在值列中的类名后面的eclipse Debug> Variables窗口中看到。

谢谢

4 个答案:

答案 0 :(得分:6)

请参阅System.identityHashCode,它返回在对象上未覆盖Object.hashCode时将返回的数字。它不是完美的身份代理,因为多个对象可能具有相同的身份哈希码,但它对调试非常有用。

答案 1 :(得分:1)

默认情况下,调试器使用对象的hashCode显示toString()方法的结果。因此,您可以通过执行hashCode()方法来查看值。

答案 2 :(得分:0)

我想你是在引用Objects toString()实现。:

return getClass().getName() + "@" + Integer.toHexString(hashCode());

答案 3 :(得分:0)

也许我错了,但我认为班级的实例没有编号。我已多次搜索获取特定类的实例的方法,根据我的搜索,这是不可能的。实例有一个地址,但我认为没有用于类实例编号(对象不按内存AFAIK中的类排序)。请注意,您始终可以创建一种机制,为特定类的实例提供数字。在类中有一个静态计数,并将其值赋给您创建的每个新实例(在构造函数中)并每次递增它。这将是区分实例的一种方式。