Wenn toString
nicht definiert ist, gibt Java den Klassennamen mit einem Hashwert aus. Wie erreicht man diese Funktionalität, wenn toString
definiert ist?
Die Antwort von @immibis ist korrekt, jedoch würde es nicht funktionieren, wenn Ihre Klasse die Hashcode-Methode überschreiben würde. Aber Sie können System.identityHashcode
%Vor%Gibt den gleichen Hash-Code für das angegebene Objekt zurück, der zurückgegeben würde nach der Methode default hashCode (), ob das angegebene Objekt ist oder nicht Klasse überschreibt HashCode (). Der Hash-Code für die Nullreferenz lautet Null.
Die Dokumentation zeigt, wie die Implementierung funktioniert.
Die toString-Methode für die Klasse Object gibt eine Zeichenfolge zurück, die aus dem Namen der Klasse besteht, deren Objekt eine Instanz ist, dem Vorzeichen @ und der unsignierten hexadezimalen Darstellung des Hash-Codes des Objekts. Mit anderen Worten, diese Methode gibt eine Zeichenkette zurück, die dem folgenden Wert entspricht:
%Vor%
Sie könnten das einfach tun oder in eine (statische?) Methode schreiben.