在java中为二维数组赋值的问题

时间:2013-11-13 09:24:55

标签: java arrays

我似乎无法解决这个问题。 我可以通过这种方式为二维路径数组创建和赋值。

private static ArrayList<Path> ALIST_OF_FILES;
//i assign a list of file paths to ALIST_OF_FILES
//...
Path[][] data = new Path[][]{{ALIST_OF_FILES.get(0)},{ALIST_OF_FILES.get(1)},{ALIST_OF_FILES.get(2)},{ALIST_OF_FILES.get(3)},{ALIST_OF_FILES.get(4)}};

以上作品。但是,当我这样做时,它会抛出异常集合$ UnmodifiableRandomAccessList

Path[][] data = new Path[ALIST_OF_FILES.size()][];
for (int i =0; i < ALIST_OF_FILES.size();i++){

 data[i][0]= ALIST_OF_Files.get(i);
}

我在这里做错了什么?提前谢谢。

2 个答案:

答案 0 :(得分:0)

您尚未在任何地方初始化子阵列。

data[i][0] = ALIST_OF_Files.get(i);

在上述点 data [i] null ; 在for循环中,您应该首先使用特定长度

初始化 data [i]

答案 1 :(得分:0)

更改

  

路径[] []数据=新路径[ALIST_OF_FILES.size()] [];

  

路径[] []数据=新路径[ALIST_OF_FILES.size()] [1];