La méthode toString() de la classe Object affiche le nom de l'objet suivi de la réference de l'objet dans la machine virtuelle (une sorte de pointeur).
Ceci peut s'avérer utile parfois lors d'une phase de deboguage, mais comment faire lorsqu'une classe (comme la classe String par exemple) redéfinie la méthode toString() ?
Il faut passer par la méthode System.identityHashCode(Object).
Le code suivant retourne la même chose que le toString() d'Object pour n'importe quel type d'objet:
1 2 3
| public String getReference(Object anObject){
return anObject.getClass().getName() + "@" + Integer.toHexString(System.identityHashCode(anObject));
} |
Partager