resultList = [[[Computer lessons], [Leon, Maria]], [[Computer repair], [Jack, Leon]], [[Data recovery service], [Leon]], [[Handyman], [Jack]], [[House cleaning], [Jack, Maria]]]
String[][][] result = new String [resultList.size()][][];
int count = 0;
for(ArrayList<ArrayList<String>> nestedList:resultList) {
result[count]= nestedList.stream().map(List::toArray).toArray(String[][]::new);
count ++;
}
上記のコードは、ArrayList<ArrayList<ArrayList<String>>>
をいくつかの値で初期化します。そのコンテンツを3次元文字列配列(String [][][]
)に入れようとします。コードは次の例外を生成します:多次元配列(3D配列)をインスタンス化しようとするとArrayStoreExceptionが発生する
java.lang.ArrayStoreException: [Ljava.lang.Object;
助言してください。
'new [resultList.size()] [] []'はあなたの問題です。最後の2つの括弧は空であり、したがって長さが「0」で何も格納することができません。 – Gendarme