Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.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
为什么ArrayList数组会';你不能用Java工作吗?_Java - Fatal编程技术网

为什么ArrayList数组会';你不能用Java工作吗?

为什么ArrayList数组会';你不能用Java工作吗?,java,Java,我在Java中使用整数数组列表,但它无法运行。每次我收到消息 “注意:Goal.java使用未经检查或不安全的操作。”以及 “注意:使用-Xlint:unchecked重新编译以获取详细信息。”编译后,当我想要运行它时,会出现消息“Exception in thread”main“java.lang.NullPointerException” 代码为(全部在主方法中): intv=8; ArrayList[]adj=新的ArrayList[11]; adj[0].添加(21); 错误属于最后一

我在Java中使用整数数组列表,但它无法运行。每次我收到消息 “注意:Goal.java使用未经检查或不安全的操作。”以及 “注意:使用-Xlint:unchecked重新编译以获取详细信息。”编译后,当我想要运行它时,会出现消息“Exception in thread”main“java.lang.NullPointerException”

代码为(全部在主方法中):

intv=8;
ArrayList[]adj=新的ArrayList[11];
adj[0].添加(21);
错误属于最后一行。
搜索了很多,但什么也没有!plz帮助,已停滞数小时。

您应该首先初始化阵列的所有索引:

    int v = 8;
    ArrayList<Integer>[] adj = new ArrayList[11];
    for(int i=0; i<adj.length; i++) {
        adj[i] = new ArrayList<>();
    }
    adj[0].add(21);
intv=8;
ArrayList[]adj=新的ArrayList[11];

对于(int i=0;i,根据注释部分,人们对ArrayList数组中的null元素的看法是正确的。要解决NullPointerException,应该在声明和实例化之后立即初始化数组的元素

下面是修改后的代码:

ArrayList<Integer>[] adj = new ArrayList[11];
for (int i = 0; i < 11; i++)
    adj[i] = new ArrayList<Integer>();
adj[0].add(21);
ArrayList[]adj=新的ArrayList[11];
对于(int i=0;i<11;i++)
adj[i]=新的ArrayList();
adj[0].添加(21);

您尚未初始化数组的任何元素。因此,您有一个由11个
null
ArrayList
s组成的数组。这是否回答了您的问题?有关NPE,请参阅。有关警告,请参阅。
ArrayList<Integer>[] adj = new ArrayList[11];
for (int i = 0; i < 11; i++)
    adj[i] = new ArrayList<Integer>();
adj[0].add(21);