我似乎无法解决这个问题。 我可以通过这种方式为二维路径数组创建和赋值。
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);
}
我在这里做错了什么?提前谢谢。
答案 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];