Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:Arraylist声明期间的问题_Java_Android_Arraylist_Declaration - Fatal编程技术网

Java Android:Arraylist声明期间的问题

Java Android:Arraylist声明期间的问题,java,android,arraylist,declaration,Java,Android,Arraylist,Declaration,如果我像这样声明Arraylist- private ArrayList<Integer[]> nodeList; 私有数组列表节点列表; 然后,在向其中添加数组时,获取NullPointerException 但是,如果我把它改成- private ArrayList<Integer[]> nodeList= new ArrayList<Integer[]>(); private ArrayList nodeList=new ArrayList();

如果我像这样声明Arraylist-

private ArrayList<Integer[]> nodeList;
私有数组列表节点列表;
然后,在向其中添加数组时,获取NullPointerException

但是,如果我把它改成-

private ArrayList<Integer[]> nodeList= new ArrayList<Integer[]>();
private ArrayList nodeList=new ArrayList();
-它很好用


为什么第一个失败了

第一个仅声明变量,但不创建实际对象。只有在使用
new
时,才实际创建对象

与C++不同,声明变量不分配它。要实际创建对象,您需要显式地创建它[在您的示例中:使用
new
关键字]。

(*)请注意,这仅适用于类型对象,java是通过声明创建的。

第一个仅声明变量,但不创建实际对象。只有在使用
new
时,才实际创建对象

与C++不同,声明变量不分配它。要实际创建对象,您需要显式地创建它[在您的示例中:使用
new
关键字]。

(*)请注意,这仅适用于类型对象,java是通过声明创建的。

如您所述,在第一种情况下,您仅声明它,但它的初始值为null。@Avisek:)无意冒犯,但您应该阅读一些关于javaya am a noob&am编程的书籍,在尝试练习时进行澄清。实际上,从PHPAs状态切换到JAVA非常令人困惑,在第一种情况下,您只声明了它,但它的初始值为null。@Avisek:)无意冒犯,但您应该阅读一些关于JAVA编程的书籍,在尝试练习时进行澄清。事实上,从PHP切换到JAVA非常令人困惑