Gewusst wie: überschreiben der ToString-Methode der ArrayList-Objekt?
class Person {
public String firstname;
public String lastname;
}
Person p1 = new Person("Jim","Green");
Person p2 = new Person("Tony","White");
ArrayList<Person> people = new ArrayList<Person>();
people.add(p1);
people.add(p2);
System.out.println(people.toString());
Ich würde gerne die Ausgabe [Jim,Tony]
, was ist der einfachste Weg, um das überschreiben der ToString
Methode, wenn diese Methode überhaupt existiert?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie tatsächlich benötigen, um überschreiben von toString() in der Klasse Person, die zurückkehren wird der Vorname, weil ArrayList automatisch, ruft Sie die toString-Methode der einschließenden Typen zu drucken, die string-Darstellung der Elemente.
So, fügen Sie die obige Methode, um Ihre Klasse Person, und wahrscheinlich werden Sie bekommen, was Sie wollen.
P. S.: - On a side note, brauchen Sie nicht zu tun
people.toString()
. Nur tunSystem.out.println(people)
ist, wird es automatisch aufrufen dertoString()
Methode fürArrayList
.Schreiben Sie eine statische Hilfsmethode, die auf die Person-Klasse:
Write-Methode überschreiben
toString()
Methode inPerson
Klasse.In diesem Fall müssen Sie das überschreiben der
toString
Methode der Person-Klasse, da arrayList nur iteriert die Klasse "Person" - Instanz.