【发布时间】:2017-10-04 17:05:17
【问题描述】:
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 [][][])。代码产生如下异常:
java.lang.ArrayStoreException: [Ljava.lang.Object;
请指教。
【问题讨论】:
-
new String[resultList.size()][][]是你的问题。最后两个括号是空的,因此长度为0,不能存储任何内容。
标签: java exception arraylist multidimensional-array