Parece que es solo un resultado directo de String generado cuando una clase no reemplaza a String con su propia implementación.
Si ese es el caso (que se puede comprobar anulando toString y ver si le da una salida diferente), entonces, de acuerdo a la documentación de Java para objetos (http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html) la aplicación por defecto para toString es:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Hashcodes: cuál es el número al que te refieres, es bastante complicado. Una vez más, desde la documentación de Java en el objeto, código hash se implementa con el siguiente contrato:
The general contract of hashCode is:
* Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
* If two objects are equal according to the equals(Object) method, then calling the hashCode method on each of the two objects must produce the same integer result.
* It is not required that if two objects are unequal according to the equals(java.lang.Object) method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hashtables.
Así, respuesta corta, que el número no significa que es la misma referencia de objeto. Pueden tener los mismos valores almacenados, pero incluso eso no es un hecho.
El objectID de JDWP es algo inútil, porque no tenemos acceso a él desde nuestro código. El System.identityCashCode() del objeto sería mucho más útil. Esto se debe a que con frecuencia tenemos un objeto A que contiene una referencia a un objeto B, y en toString() del objeto A podemos incluir el código de identidad del objeto B, pero luego examinamos las variables/relojes/etc. el objeto B con ese código hash de identidad y no podemos encontrarlo, porque IntelliJ IDEA no lo está informando mediante hashcode de identidad. –
Lo mismo se aplica al registro: con frecuencia registramos referencias a objetos; Una manera fácil y confiable de registrar una instancia de un objeto es registrar su identityHashCode. Pero una vez más, IntelliJ IDEA hace imposible verificar si un objeto cuya referencia está en el registro es igual que una referencia que aparece en las variables, porque solo puedo registrar un identityHashCode, pero IntelliJ IDEA muestra los ID de objeto JDWP. –