Inhaltsverzeichnis:
Video: Java Tutorial Programmieren für Anfänger 39 -- toString 2024
Die Methode
toString
gibt eine
String
-Darstellung eines Objekts in Java zurück. Standardmäßig gibt die Methode
toString
den Namen der Objektklasse und ihren Hashcode zurück. Hier erfahren Sie, wie Sie die Methode
toString
verwenden und wie Sie sie in Ihren eigenen Klassen überschreiben können, um nützlichere Zeichenfolgen zu erstellen.
Verwenden von toString in Java
Hier ist ein einfaches Programm, das die Methode
toString
zum Laufen bringt:
öffentliche Klasse TestToString
{
public static void main (String [] Argumente)
{
Mitarbeiter emp = neuer Mitarbeiter ("Martinez",
" Anthony ");
System. aus. println (emp. toString ());
}
}
Klasse Employee
{
private Zeichenfolge lastName;
private Zeichenfolge firstName;
öffentlicher Mitarbeiter (String lastName, String firstName)
{
this. lastName = Nachname;
dies. firstName = Vorname;
}
}
Dieser Code erstellt ein neues
Employee
-Objekt. Dann wird das Ergebnis seiner Methode
toString
auf der Konsole ausgegeben. Wenn Sie dieses Programm ausführen, wird die folgende Zeile auf der Konsole gedruckt:
Employee @ 82ba41
Hinweis: Der Hash-Code - in diesem Fall
82ba41
- wird sich auf Ihrem System zweifellos unterscheiden.
Es stellt sich heraus, dass der explizite Aufruf von
toString
in diesem Beispiel nicht wirklich notwendig ist. Sie könnten genauso gut die zweite Zeile der
Haupt
-Methode folgendermaßen geschrieben haben:
System. aus. println (emp);
Das liegt daran, dass die Methode
println
automatisch die
toString
-Methode eines Objekts aufruft, das Sie übergeben haben.
Überschreiben von toString in Java
Die Standardimplementierung von
toString
ist in den meisten Situationen nicht sehr nützlich. Sie lernen nicht wirklich viel über ein
Employee
-Objekt, indem Sie beispielsweise dessen Hash-Code sehen. Wäre es nicht besser, wenn die Methode
toString
einige tatsächliche Daten vom Objekt zurückgibt, wie z. B. den Namen des Mitarbeiters?
Dazu müssen Sie die Methode
toString
in Ihren Klassen überschreiben. In der Tat ist eine der grundlegenden Richtlinien der objektorientierten Programmierung in Java, immer zu überschreiben
toString
. Hier ist ein einfaches Programm mit einer
Employee
-Klasse, die
toString
überschreibt:
public class TestToString
{
public static void main (String [] args)
{
Mitarbeiter emp = neuer Mitarbeiter ("Martinez",
"Anthony");
System. aus. println (emp. toString ());
}
}
Klasse Employee
{
private Zeichenfolge lastName;
private Zeichenfolge firstName;
öffentlicher Mitarbeiter (String lastName, String firstName)
{
this.lastName = Nachname;
dies. firstName = Vorname;
}
public String toString ()
{
gibt "Employee ["
+ this zurück. firstName + ""
+ dies. Nachname + "]";
}
}
Wenn Sie dieses Programm ausführen, wird die folgende Zeile in der Konsole angezeigt:
Mitarbeiter [Anthony Martinez]
Beachten Sie, dass die Ausgabe aus dem Klassennamen gefolgt von einigen Daten besteht aus dem Objekt in Klammern. Diese Konvention ist in der Java-Programmierung üblich.
Das einzige Problem mit dem vorhergehenden Beispiel ist, dass der Klassenname in der Methode
toString
hartcodiert ist. Sie können die Methode
getClass
verwenden, um den tatsächlichen Klassennamen zur Laufzeit abzurufen:
public String toString ()
{
gibt diesen Wert zurück. getClass (). getName () + "["
+ dies. firstName + ""
+ dies. Nachname + "]";
}
Hier liefert die
getClass
-Methode ein
Class
-Objekt, das die Klasse des aktuellen Objekts darstellt. Dann wird die
getName
Methode des
Klasse
Objekts verwendet, um den tatsächlichen Klassennamen zu erhalten.