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的之类.....

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

  • 相关阅读:
    html常用属性手记
    html常用标签手记
    linux安装与命令大全
    14.ref参数
    13.out参数
    10.结构
    9.枚举
    8.常量
    6.使用Convert进行类型转换
    5.C#中的转义符和@符号
  • 原文地址:https://www.cnblogs.com/DreamDrive/p/4317263.html
Copyright © 2011-2022 走看看