Java 我最好如何用原始对象填充此数组?
我有一个数组:Java 我最好如何用原始对象填充此数组?,java,object,arraylist,Java,Object,Arraylist,我有一个数组: ArrayList<Person> people = new ArrayList(); 我的问题是,我可以用相同变量名的对象填充数组吗?如果没有,我怎么还能使用人对象?对象与其变量名无关!是的,当然可以 是的,您对所描述的内容不会有任何问题 你会得到这样的结果: Person person = new Person(); person.firstName = firstNameTextField.getText(); person.lastName = lastNa
ArrayList<Person> people = new ArrayList();
我的问题是,我可以用相同变量名的对象填充数组吗?如果没有,我怎么还能使用
人
对象?对象与其变量名无关!是的,当然可以 是的,您对所描述的内容不会有任何问题
你会得到这样的结果:
Person person = new Person();
person.firstName = firstNameTextField.getText();
person.lastName = lastNameTextField.getText();
people.add(person);
person = new Person(); // <-- reinitializing person.
person.firstName = firstNameTextField.getText();
person.lastName = lastNameTextField.getText();
people.add(person);
ArrayList<Person> people = new ArrayList();
// add a bunch of Person objects like we did above
for(int i = 0; i < people.size(); i++) {
System.out.println("Found person: " + people.get(i).firstName);
}
Person-Person=新的Person();
person.firstName=firstNameTextField.getText();
person.lastName=lastnamextfield.getText();
人。添加(人);
person=新的person();// 如果你懒惰,你也可以在人身上使用构造器
class Person {
public Person(String firstname, String lastname) {
this.firstname=firstname;
this.lastname=lastname;
}
}
然后
people.add(new People("tom", "lastnameoftom"));
people.add(new People("Susi", "SusisLastname"));
等等
但是要回答你的问题。。每次在变量上使用新变量时,它都会被重新初始化。编译器将翻译以下内容:
People people = new People();
people.setSetter(data);
people = new People();
people.setSetter(otherdata);
致(例)
对象与引用它的变量无关。请先尝试一下,如果确实有问题,请提问。如果您循环它,您将为Person
分配一个新的Person
对象,但这并不意味着前一个对象已消失:您只是不再从Person
引用它。因此,我将能够使用数组的索引引用该对象?@Mattbettinson是的,您将能够。实现Person.clone()
并使用它?people[i]。firstName
应该是people.get(i)。firstName
People people = new People();
people.setSetter(data);
people = new People();
people.setSetter(otherdata);
People a = new People();
a.setSetter(data);
People b = new People();
b.setSetter(otherdata);