Android:在Arraylist声明过程中出现问题



如果我像这样声明数组列表-

private ArrayList<Integer[]> nodeList;

然后,在添加数组时,得到NullPointerException

但是,如果我把它改成-

private ArrayList<Integer[]> nodeList= new ArrayList<Integer[]>();

-it works fine.

为什么第一个失败了!

第一个只声明了一个变量,但没有创建实际的对象。只有当您使用new时,您才真正创建了对象。

在java中,与c++不同,声明一个变量并不分配它的局部变量。要实际创建对象,需要显式地创建它[在您的示例中:通过使用new关键字]。
(*)请注意,这只适用于引用类型对象,java原语是通过声明创建的。

最新更新