将对象添加到数组列表。尝试添加obect时发生错误ArrayList
有人可以回答为什么我的数组列表有问题。我有一个类:List
,People
和Main
(运行一切)。将对象添加到数组列表。尝试添加obect时发生错误ArrayList
在List
我正在创建一个新的ArrayList
来保存People
类型的对象。
在Main
我在制作新的List对象,然后创建新的People对象,然后调用List对象add
方法,此时我得到nullPointerException
异常。
public class Main {
public static void main(String[] args) {
List l = new List(); // making new List object
People p = new People(); // making new People object
l.addPeople(p); // calling from List object "addPeople" method and
}
// parsing People object "p"
}
import java.util.ArrayList;
public class List {
public List(){ //constructor
}
ArrayList<People>list; // new ArrayList to hold objects of type "People"
public void addPeople(People people){
list.add(people); // I get error here
}
}
public class People {
public People(){ // constructor
}
}
在构造函数中:
list = new ArrayList<People>();
您需要在您的list
字段中输入ArrayList
实例。
你没有实例在任何时间列表。在你的构造做到这一点:
public List(){ //constructor
list = new ArrayList<People>();
}
我不知道这是否是相关的,但它是一个坏主意来命名类“清单”,因为这将隐藏列表界面。
这只是为了测试,在大型项目中我不会。 – edi 2011-04-15 02:07:22
@Edgar你最好别这么做。你可以“获得”的唯一的事情是迷惑自己(以及你展示的人)并且必须重写它以用于“大计划”。 – maaartinus 2011-04-15 02:24:24
谢谢大家,我认为在构造函数中有问题就是无法理解的地方。现在,它的工作,再次感谢所有的时间。 – edi 2011-04-15 02:04:49