public ArrayList<Person> people;
这是如何将people变量实例化为Person对象的新空ArrayList?
ArrayList<Person> people = new ArrayList<Person>();
这就是你如何将newMember添加到列表的末尾?
public void addItem(Person newMember){
people.add(newMember);
}
答案 0 :(得分:3)
class Foo {
public ArrayList<Person> people;
Foo() {
//this:
ArrayList<Person> people = new ArrayList<Person>();
//creates a new variable also called people!
System.out.println(this.people);// prints "null"!
System.out.println(people);//prints "bladiebla"
}
Foo() {
people = new ArrayList<Person>();//this DOES work
}
}
它可能(或应该)的样子:
private
,List
代替ArrayList
和this.
,因此您再也不会犯错:
public class Foo {
private List<Person> people;
public Foo() {
this.people = new ArrayList<Person>();
}
public void addItem(Person newMember) {
people.add(newMember);
}
}
答案 1 :(得分:1)
是的,这是正确的。如果您以后希望将项添加到列表的中间,请使用add(int index,Object elem)方法。
http://download.oracle.com/javase/6/docs/api/java/util/ArrayList.html
答案 2 :(得分:0)
为了实例化一个空ArrayList
,你必须明确定义构造函数中的元素个数。空构造函数为10个元素分配内存。根据文件:
public ArrayList()
构造一个初始容量为10的空列表。
add(item)
默认ArrayList
方法将元素添加到列表末尾。