谢谢!

解决方案 »

  1.   

    Object obj = …;String[] a = (String[]) obj;
      

  2.   

    如果这个object本来是一个数组,直接强制转换就可以了
      

  3.   

    楼上的那些说的都太绝对了。我举一个例子,
    Object a[] = {new String("9"),new String("8")};
    String[] b = new String[2];
    b = (String[])(a);
    这样的例子,编译的时候,不会出错,执行的时候,就会有java.lang.ClassCastException错误。正确的写法。
    Object a[] = new String[]{"9", "8"};
    String[] b = new String[2];
    b = (String[])(a);
    这样才对。问题就在于,第一种写法,他构造的时候,还是Object。这个是需要注意的。
      

  4.   

    如果知道它是什么,直接转就好了.
    如果不知道, if (getClass.isArray()) {
                    //cast it
                }
                else {
                    //wrong!
                }
      

  5.   

    Croatia(Croatia)
    你那个ClassCastException是你自己的问题
    Object a[] = {new String("9"),new String("8")};这句话a里存的只是两个object,里面的string都向上转型了
    b = (String[])(a);object[]->string[]明显有问题的