概述
为什么不能由Object[]数组强转成Integer[]数组.
1 Object[] ins= { 2 new Integer(0), 3 new Integer(1), 4 new Integer(2), 5 new Integer(3), 6 }; 7 Integer[] i = (Integer[]) ins;
执行时,系统报
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.Integer;
如果改成下面的方式就可以了:
1 Object[] ins= { 2 new Integer(0), 3 new Integer(1), 4 new Integer(2), 5 new Integer(3), 6 }; 7 Integer[] i = new Integer[ins.length]; 8 for(int k = 0; k < ins.length; k++){ 9 i[k] = Integer.parseInt(ins[k].toString()); 10 System.out.println(i[k]); 11 }
为什么Object[]数组不能强转成Integer[]数组呢?
其实Object[]数组和Integer[]数组之前的关系并没有继承之间的关系,Integer[]的是Object的子类,并不是Object[]数组的之类.
Object[]数组是Object的之类.....
强转的话还是要一个个的对单独的元素进行强转.
最后
以上就是激动金毛为你收集整理的关于Object[]数组强转成Integer[]类型的数组.的全部内容,希望文章能够帮你解决关于Object[]数组强转成Integer[]类型的数组.所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复