有人可以回答为什么我的数组列表存在问题。我有一个课程:List
,People
和Main
(运行一切)。
在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
}
}
答案 0 :(得分:6)
在构造函数中:
list = new ArrayList<People>();
答案 1 :(得分:2)
您没有随时实例化该列表。在你的构造函数中执行以下操作:
public List(){ //constructor
list = new ArrayList<People>();
}
答案 2 :(得分:2)
我不确定这是否相关,但将您的类命名为“List”是一个坏主意,因为这会隐藏List接口。
答案 3 :(得分:1)
您需要将ArrayList
个实例放入list
字段。