Ter*_* Li 4 java string overriding arraylist tostring
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());
Run Code Online (Sandbox Code Playgroud)
我想输出是[Jim,Tony]什么,ToString如果存在这样的方法,覆盖方法的最简单方法是什么?
实际上你需要覆盖Person类中的toString(),它将返回firstname,因为,ArrayList会自动调用封闭类型的toString来打印元素的字符串表示.
@Override
public String toString() {
return this.firstname;
}
Run Code Online (Sandbox Code Playgroud)
所以,将上面的方法添加到Person类中,可能你会得到你想要的.
PS: - 在旁注中,您不需要这样做people.toString().只是这样System.out.println(people),它会自动调用toString()方法ArrayList.