zoukankan      html  css  js  c++  java
  • 关于Object[]数组强转成Integer[]类型的数组.

    为什么不能由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的之类.....

    强转的话还是要一个个的对单独的元素进行强转.

  • 相关阅读:
    CSP2020 T1儒略日 暴力模拟90pts代码
    CSP-S 2019 D1T2括号树
    P3593 [POI2015]TAB
    P5145 漂浮的鸭子
    CH0503 奇数码问题
    [NOIP2012]国王游戏 -高精度-贪心-
    费解的开关
    P1040 加分二叉树
    初步学习线段树
    P2758 编辑距离 简单DP
  • 原文地址:https://www.cnblogs.com/DreamDrive/p/4317263.html
Copyright © 2011-2022 走看看