0
所以我有一個叫Persons的類,它有一個在main中創建時添加Person對象的方法。如何從main添加對象到ArrayList?
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到我的ArrayList人員上課嗎?」它確實可以編譯,但是當我運行它的時候,我得到了很奇怪的亂碼。是否我在我的Persons類中缺少一些東西,主要的還是我不能象我那樣在ArrayList中打印對象?
打印的對象,默認情況下顯示,將只打印'的hashCode()'的對象。如果你想讓它遍歷對象並打印它包含的所有對象,你需要編寫代碼來完成它。 –
您打印「Persons」的「默認」結果。一般的建議是重寫'toString',我個人覺得這是一個壞主意,'toString'應該保留用於調試。在你的情況下,你可以遍歷'personsList'而不是 – MadProgrammer
爲什麼地球上應該保留'toString()'來保存調試? –