如何在覆盖toString()方法后获取Object的唯一ID?

时间:2009-07-17 01:21:47

标签: java

我可以通过调用toString()方法获取我的对象的className @ 2345这样的唯一id,但在我覆盖toString()方法后,如何获得该唯一ID?

3 个答案:

答案 0 :(得分:12)

你可以调用System.identityHashCode()并将你的对象作为参数传递,然后你就可以得到它。

答案 1 :(得分:2)

更准确地说

obj.getClass().getName() + "@" + Integer.toHexString(System.identityHashCode(obj))

答案 2 :(得分:0)

如果您正在寻找一行也将打印className @地址的toString()实现,请查看Apache Commons ToStringBuilder.reflectionToString()。这将返回一个String格式为:className @ address [field1 = value1,field2 = value2,...]