【发布时间】:2017-06-13 17:39:48
【问题描述】:
所以我有一个名为 Persons 的类,当在 main 中创建时,它有一个添加 Person 对象的方法。
import java.util.*;
public class Persons {
public ArrayList<Person> personsList = new ArrayList<Person>();
public boolean addPerson(Person newPerson) {
personsList.add(newPerson);
return true;
}
}
这是我的主要方法
import java.util.*;
public class testPersons {
public static void main(String[] args) {
Persons persons = new Persons();
Address person1Address = new Address(xxx, "xxx", "xxx", "CA", "xxx");
Address person1JobAddress = new Address(1542, "High St", "Santa Cruz", "CA", "94063");
ArrayList<String> person1Phone = new ArrayList<String>();
person1Phone.add("xxx-xxx-xxx");
Job person1Job = new Job("Teacher", 25000.00, person1JobAddress);
Person person1 = new Person("xxxxxxx", "San Mateo", 'M', person1Address, person1Job, person1Phone);
persons.addPerson(person1);
System.out.println(persons);
}
}
所以我的问题是,“如何将对象 Persons1 添加到 Persons 类的 arrayList 中?”它确实编译,但是当我运行它时,我得到了奇怪的胡言乱语。是我的 Persons 类中缺少一些东西吗?还是我不能像以前那样打印 ArrayList 中的对象?
【问题讨论】:
-
打印一个对象,默认情况下,只会打印该对象的
hashCode()。如果你想让它遍历对象并打印它包含的所有对象,你需要编写代码来做到这一点。 -
您正在打印
Persons的“默认”结果。一般的建议是覆盖toString,我个人觉得这是个坏主意,toString应该保留用于调试。在您的情况下,您可以只迭代personsList -
到底为什么要保留
toString()用于调试?
标签: java object arraylist main