反了,
就好像:车并不一定是BMW一样,可以是马车。

解决方案 »

  1.   

    改成下面地试试
    String []temp=(String[])obj;
      

  2.   

    Object obj="test";String temp=(String)obj;这是完全可以的呀。
      

  3.   

    Object obj[]=new Object[1];
    obj[0]="test";
    String temp[]=new String[1];
    List list=Arrays.asList(obj);
    list.toArray(temp)
      

  4.   

    Object[] 是无法转成其他数组的,比如String[]
    你想一想,Object[] 的每个元素是Object,怎么可以转成其他的呢?再说转换本身也不和逻辑。
    Object[] objs=new Object[3];
    objs[0]=new String("String");
    objs[1]=new Integer(1);
    objs[2]=new Date();
    这个怎么转?
    这里即使所有的都是同一个类型,比如String,还是不能转成String[]
    因为数组也是一个Object,它的运行时类类型不兼容就肯定不能转。
    你可以比较一下
    String[] s;
    Object[] o;
    s.getClass() 和o.getClass()是肯定不一样的。
      

  5.   

    最近看effective c++,Scott Meyers在公有继承部分说,顺便提一下,即使Student类是从Person类公有继承来的,也不能把Student[]说成是一个Person[]