Wir wissen, dass der Aufruf der toString()-Methode eines Objekts die Attributinformationen des Objekts direkt ausgibt, aber wie wird das implementiert? Und wie kann man es besser erreichen? Jetzt lasst uns lernen.
Aus der Java-Dokumentation können wir erfahren, dass die toString()-Methode in der Object-Klasse definiert ist und ihr Rückgabewerttyp vom Typ String ist und den Klassennamen und seine zurückgibt Referenzadresse.
Beim Verbinden der String-Klasse mit anderen Typen wird die toString()-Methode automatisch aufgerufen. Die Demo lautet wie folgt:
Date now = new Date(); System.out.println("now = " + now);//相当于下一行代码 System.out.println("now = " + now.toString());
In tatsächlichen Anwendungen kann sie in benutzerdefinierte Typen umgeschrieben werden Bei Bedarf überschreibt die Stirng-Klasse die toString()-Methode und gibt den Wert der Zeichenfolge zurück.
System.out.println(s1);//相当于下一行代码 System.out.println(s1.toString());
Der Basisdatentyp wird in den String-Typ konvertiert , und die toString()-Methode der entsprechenden Verpackungsklasse wird aufgerufen. Die Demo lautet wie folgt:
int a = 10; System.out.println("a = " + a);
Jetzt sehen wir uns an, wie der Quellcode in JDK aussieht:
public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); }
Jetzt schauen wir uns an Üben Sie die Verwendung:
Person p1 = new Person(); System.out.println(p1.toString());//TestEquals.Person@15db9742 System.out.println(p1);//TestEquals.Person@15db9742 因为输出的时候回默认调用Objec类toString()方法
Wenn wir ein Objekt drucken. Wenn darauf verwiesen wird, wird die toString()-Methode dieses Objekts tatsächlich standardmäßig aufgerufen.
Wenn die Klasse des gedruckten Objekts den toString nicht überschreibt ()-Methode in Object wird standardmäßig die toString()-Methode in der Object-Klasse aufgerufen.
Gibt die Klasse dieses Objekts und den ersten Adresswert der entsprechenden Heap-Space-Objektentität zurück.
Wenn die Klasse, in der wir das Objekt drucken, toString() überschreibt, wird die überschriebene toString()-Methode aufgerufen. Im Allgemeinen besteht die Überschreibung darin, die Attributinformationen des Klassenobjekts zurückzugeben.
Wir können auch eine tostring()-Methode anpassen:
//手动实现 public String toString(){ return " Person:name=" + name +" age=" + age; }
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Tostring-Methode in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!