Как я могу получить уникальный идентификатор объекта после перезаписи его метода toString ()? - PullRequest
2 голосов
/ 17 июля 2009

Я могу получить уникальный идентификатор, например className @ 2345, моего объекта, вызвав его метод toString (), но после перезаписи метода toString (), как я могу получить этот уникальный идентификатор?

Ответы [ 3 ]

12 голосов
/ 17 июля 2009

Вы можете вызвать System.identityHashCode () и передать свой объект в качестве параметра, тогда вы получите его.

2 голосов
/ 17 июля 2009

Точнее

obj.getClass().getName() + "@" + Integer.toHexString(System.identityHashCode(obj))
0 голосов
/ 17 июля 2009

Если вы ищете однострочную реализацию toString (), которая также будет печатать адрес className @, проверьте Apache Commons ToStringBuilder.reflectionToString () . Это вернет строку в формате: className @ address [field1 = value1, field2 = value2, ...]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...