gpt4 book ai didi

java - 使用数组列表和列表进行编号

转载 作者:行者123 更新时间:2023-12-01 22:23:11 25 4
gpt4 key购买 nike

所以我有以下代码都在同一个类中

List<Person> peopleList = new ArrayList<Person>();

private void viewPersons() {
if (peopleList.isEmpty()) {
System.out.println("No persons to display");
}
if (peopleList.isEmpty()!= true) {
//for(int i = 0; i <= peopleList.size(); i++) {
System.out.println(peopleList);
//}
}
}

还有另一个名为 Person 的类,该数组保存对它的引用。

我从用户输入中获取值,这并不重要,也不是问题,但是当此方法运行时(假设我有 Jon、4110987654 和 jjon@gmail.com 作为三个字符串的用户输入),我得到

"[Person@55f96302 Jon, 4110987654, jjon@gmail.com] as output from it."

如果我输入另一个人的信息,我会在一行中得到所有信息。它看起来像

"[Person@55f96302 Jon, 4110987654, jjon@gmail.com, Person@3d4eac69, name, phone, email]"

但我想要的是

"Person@55f96302 Jon, 4110987654, jjon@gmail.com

Person@3d4eac69, name, phone, email"

如何将它们分开,以便每个人的信息位于单独的行中,并且 “Person@55f96302” 只是一个数字,例如 1 或 2?

我只是不确定应该添加什么语法或应该更改什么。

这是 Person 类中的 toString()

public String toString(){
StringBuilder builder = new StringBuilder();
builder.append(super.toString()).append(" ");
builder.append(fullName).append(", ");
builder.append(phoneNumber).append(", ");
builder.append(email).append(" ");
return builder.toString();
}

最佳答案

您之所以得到上面提到的输出,是因为您尝试直接打印 ArrayList,其中包含 Person 对象,其中 toString() > 没有任何功能。试试这个代码:

List<Person> peopleList = new ArrayList<Person>();

private void viewPersons() {
if (peopleList.isEmpty()) {
System.out.println("No persons to display");

} else {
for (Person p : peopleList) {
// you can override Person.toString() however you want
System.out.println(p.toString());
}
}
}

关于java - 使用数组列表和列表进行编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29293646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com