【发布时间】:2011-11-09 01:19:12
【问题描述】:
我定义了List<Integer> stack = new ArrayList<Integer>();
当我尝试通过以下方式将其转换为数组时:
Integer[] array= stack.toArray();
我得到了这个例外:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Type mismatch: cannot convert from Object[] to Integer[].
为什么?它是完全相同的类型——Integer 到 Integer。当类为 father-and-son relation 时,这与这种一般情况不同。
我试着做演员:
Integer[] array= (Integer[]) stack.toArray();
但在这里我得到了这个错误:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.Integer;
有什么问题?
【问题讨论】: