我找到了一个奇怪的案例,到目前为止我无法解释.
public static void main(String[] args) {
LinkedList<Integer> a = new LinkedList<>();
a.add(2);
a.add(3);
a.add(4);
for (ArrayList ax : getBatches(a)){
System.out.println(ax);
}
}
private static ArrayList<ArrayList<Integer>> getBatches(List<Integer> optionIds) {
return new ArrayList(Arrays.asList(optionIds));
}
Run Code Online (Sandbox Code Playgroud)
执行结果是:
线程"main"中的异常java.lang.ClassCastException:java.util.LinkedList无法强制转换为java.util.ArrayList
for循环中的异常.
问题是:如何?返回类型ArrayList <ArrayList <Integer >>的方法如何返回LinkedList?