Cast Object []到MyType []失败

时间:2018-05-09 09:32:38

标签: java android

我从http服务器接收JSON,我知道它是什么类型,但我更喜欢将它作为Object接收(只是为了保持代码重用的通用性),这是我的代码来构建数组:

   public static <T> T[] convertArray(Object[] array, Class<T[]> desiredTypeClass) {
    try {
        return desiredTypeClass.cast(array);

    } catch (ClassCastException e) {
        e.printStackTrace();
    }

    return null;
}

我也尝试过:

MyDesiredObjType[] array = (MyType[]) objArray;

我得到了同样的错误异常:

  

W / System.err:java.lang.ClassCastException:无法强制转换[Ljava.lang.Object;至[Ldata.model.MerchantObj;           在java.lang.Class.cast(Class.java:2432)

尝试将Object[]投射到MyType[]

1 个答案:

答案 0 :(得分:0)

您应该直接按对象复制。

System.arraycopy

应该是最适合您的解决方案。 有关 arraycopy

的信息,请参阅此文档

System class document by Oracle