【发布时间】:2014-11-24 19:49:45
【问题描述】:
我遇到了如下问题:
当我初始化一个ArrayList<ArrayList<Integer>>时,代码是:
ArrayList<ArrayList<Integer>> group = new ArrayList<ArrayList<Integer>>();
group.add((ArrayList<Integer>) Arrays.asList(1, 2, 3));
group.add((ArrayList<Integer>) Arrays.asList(4, 5, 6));
group.add((ArrayList<Integer>) Arrays.asList(7, 8, 9));
for (ArrayList<Integer> list : group) {
for (Integer i : list) {
System.out.print(i+" ");
}
System.out.println();
}
虽然代码可以编译成功,但是控制台还是出现异常:
线程“main”中的异常 java.lang.ClassCastException:java.util.Arrays$ArrayList 无法转换为 java.util.ArrayList 在 Solution.main(Solution.java:49)
感谢您的帮助!
【问题讨论】:
-
这让我觉得应该在编译时捕获。强制转换是怎么回事?