2010-11-25 97 views
3

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

感谢

+0

我相信数字只是对象的内存地址。 `hashCode`可能会返回这个数字,或者它的一个消息版本。 – cdhowie 2010-11-25 20:01:34

回答

1

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

5

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

0

我想你指的对象toString()实现:

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

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