同类型的list转数组时,遇到强转错误:java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Lcom.xxx.system.response.RespVersionListUserside;
RespVersionListUserside[] tempList = (RespVersionListUserside[])list.toArray();
后来改为以下,问题解决:
RespVersionListUserside[] array = new RespVersionListUserside[list.size()];
RespVersionListUserside[] tempList = list.toArray(array);
出现错误原因分析:ArrayList提供了一个将List转为数组的一个非常方便的方法toArray。toArray有两个重载的方法:
(1)list.toArray();
(2)list.toArray(T[] a);
对于第一个重载方法,是将list直接转为Object[] 数组;
第二种方法是将list转化为你所需要类型的数组,当然我们用的时候会转化为与list内容相同的类型。