![](/img/trans.png)
[英]How can I override the toString method of an ArrayList in Java?
[英]How to override the ToString method of ArrayList of object?
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());
我希望輸出為[Jim,Tony]
,如果存在這樣的方法,那么覆蓋ToString
方法的最簡單方法是什么?
實際上你需要覆蓋Person類中的toString(),它將返回firstname,因為,ArrayList會自動調用封閉類型的toString來打印元素的字符串表示。
@Override
public String toString() {
return this.firstname;
}
所以,將上面的方法添加到Person類中,可能你會得到你想要的。
PS : - 在旁注中,您不需要執行people.toString()
。 只需執行System.out.println(people)
,它就會自動為ArrayList
調用toString()
方法。
您可以在Person類上編寫靜態幫助器方法:
public static String toString(ArrayList<Person> people) {
Iterator<Person> iter = people.iterator();
....
}
在Person
類中寫入覆蓋方法toString()
方法。
public String toString() {
return firstname;
}
在這種情況下,您必須覆蓋Person類的toString
方法,因為arrayList只是迭代Person類實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.