有一个Object类型数组,现在数组里面元素具体类型不知道,怎样转换成本身的类型??

解决方案 »

  1.   

    Object o = new Object[]{"test","yyy"} ;String s = (String)o[i] ;//强制转换
      

  2.   

    用instanceof 来判断一下,再做类型转换
      

  3.   

    楼上的兄弟注意了:现在数组里面元素具体类型不知道!我觉得只有在这个object类型中增加一个type属性,方便我们知道他是什么类型.不然的话据我所知不可能
      

  4.   

    我的意思是不知道o[i]的具体类型(不知道他是String型)
    肯定一点的是要先获得o[i]在转为Object前的类型。问题是怎么获得!!!??
      

  5.   

    你对数组里的元素用getClass()试试。确定类了再转
      

  6.   

    如下:
    Object ob = new Object[2];
    ob[0] = "aa";
    ob[1] = new Hashtable();for (int i=0;i<ob.length;i++){
    System.out.println("Class["+ob[i].getClass()+"]");
    // 根据取得的类进行转换
    }
      

  7.   

    Object ob = new Object[2];
    改为
    Object[] ob = new Object[2];
      

  8.   

    所谓强制转型,就是用 "(类型)对象" 的语法。
    从这个语法上可以看出,你一定要写上这个“类型”,也就是说这个“类型”你是先知的。如果你知道可能有多种类型,那么你可以用一个(串)if语句来判断是哪种类型的对象就转成哪种类型。
    如果你根本不知道可能的类型范围,这就成了一个impossible misson