0

私はこれを理解できないようです。この方法で、2 次元パス配列を作成して値を割り当てることができます。

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

変化する

Path[][] data = new Path[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 に答える