如何将对象从main添加到ArrayList



所以我有一个名为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类main中遗漏了什么,还是我不能像以前那样打印ArrayList中的对象?

确保所有与Person相关的类(包括Person)都覆盖默认的toString()。

当您System.out.println(人员)时,会发生以下情况:

  • ArrayList中的Person对象被逐个调用
  • 对于每个Person对象,都会调用其toString()is方法。如果未覆盖toString(),则将调用Object(默认值)toString。因此出现了"奇怪的胡言乱语"。您需要通过重写toString()来告诉java您想要显示什么样的"演示">

相关内容

  • 没有找到相关文章

最新更新