为什么不能由Object[]数组强转成Integer[]数组.
Object[] ins= {
new Integer(0),
new Integer(1),
new Integer(2),
new Integer(3),
};
Integer[] i = (Integer[]) ins;
执行时,系统报
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.Integer;
如果改成下面的方式就可以了:
Object[] ins= {
new Integer(0),
new Integer(1),
new Integer(2),
new Integer(3),
};
Integer[] i = new Integer[ins.length];
for(int k = 0; k < ins.length; k++){
i[k] = Integer.parseInt(ins[k].toString());
System.out.println(i[k]);
}
为什么Object[]数组不能强转成Integer[]数组呢?
其实Object[]数组和Integer[]数组之前的关系并没有继承之间的关系,Integer[]的是Object的子类,并不是Object[]数组的之类.
Object[]数组是Object的之类.....
强转的话还是要一个个的对单独的元素进行强转.