java - 如何覆盖对象的ArrayList的ToString方法?

标签 java string arraylist overriding 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());

我希望输出为 [Jim,Tony],如果存在这样的方法,覆盖 ToString 方法的最简单方法是什么?

最佳答案

您实际上需要在您的 Person 类中覆盖 toString() ,它将返回名字,因为 ArrayList 会自动调用封闭类型的 toString 来打印元素的字符串表示形式。

@Override
public String toString() {
    return this.firstname;
}

所以,将上面的方法添加到你的 Person 类中,你可能会得到你想要的。

P.S.:- 附带说明,您不需要执行 people.toString()。只需执行 System.out.println(people),它会自动调用 ArrayListtoString() 方法。

关于java - 如何覆盖对象的ArrayList的ToString方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13028525/

相关文章:

string - F# 中的表达式 "some string".[3 .. 7] 调用了哪个函数?

java - 尝试将卡片与其图像映射时出现错误

java - 使用 ArrayList 的唯一 ID 删除对象

java - 如何替换字符串中除某些字符之外的所有字符?

java - 是否可以在 Java 中加载同名的两个不同类之一?

java - 如何在警报对话框与我的 fragment 之间进行通信?

java - 表示层级关系

java - 将 NumberPicker 值添加到当前 TextView 字符串

java - 将字符串数组转换为 ArrayList<String>

java - 如何从数组列表中删除元素?