Object[] x = {"asdf", "gsf", "aaaa"};
String[] y = (String[])x;编译可以通过。但是运行的时候抛出个java.lang.ClassCastException 。是不是java不支持数组的造型?还是我的方法有错误。

解决方案 »

  1.   

    Object[] x = {"asdf", "gsf", "aaaa"};
    String[] y = (String[])System.arraycopy(x, 0, Array.newInstance(String, x.length), 0, x.length);寫得有點復雜, 沒測試.
    java core一書好像有介紹.
      

  2.   

    没有随便阿,object[]里面存储的确实都是String。
    如果对单个对象进行cast是可以的。
    object o = "asdf";
    String s = (String)o;
      

  3.   

    帮你改一下:
    import java.util.*;
    public class TestToDel{
    public static void main(String[] args){
        Object[] x = new String[]{"asdf", "gsf", "aaaa"};
         String[] y = (String[])x;   
        System.out.println(Arrays.toString(y));
    }
    }