0

我似乎无法弄清楚这一点。我可以通过这种方式创建二维路径数组并将值分配给二维路径数组。

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)}};

以上工作。但是,当我这样做时,它会引发异常 Collections$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);
}

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

4

2 回答 2

0

改变

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

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

于 2013-11-13T09:44:04.533 回答
0

你还没有在任何地方初始化你的子数组。

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

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

于 2013-11-13T09:28:27.567 回答