Java 将对象[]类型转换为其他对象[]
我有一节课Java 将对象[]类型转换为其他对象[],java,casting,arraylist,Java,Casting,Arraylist,我有一节课 public class ABC { public int i; public float f; public ABC(int d1,float d2) { i=d1; f=d2; } } 我已经创建了ABC对象的ArrayList ArrayList<ABC> list = new ArrayList<ABC>(); ABC abc1=new ABC(1,1.0f);
public class ABC {
public int i;
public float f;
public ABC(int d1,float d2) {
i=d1;
f=d2;
}
}
我已经创建了ABC对象的ArrayList
ArrayList<ABC> list = new ArrayList<ABC>();
ABC abc1=new ABC(1,1.0f);
ABC abc2=new ABC(2,2.0f);
list.add(abc1);
list.add(abc2);
尽管此命令引发此异常
线程“main”java.lang.ClassCastException中的异常:[Ljava.lang.Object;无法转换为[LABC**
任何帮助都有一个返回泛型数组的toArray
方法,因此您可以:
具有返回泛型数组的toArray
方法,因此您可以:
Cast不会更改对象的类,数组的类为
object[]
。您可以使用System.arraycopy将数组复制到所需的类中。Cast不会更改对象的类,数组的类为object[]
。您可以使用System.arraycopy将阵列复制到所需的类中。
ABC[] array=(ABC[])list.toArray();
ABC[] array = new ABC [list.size()]
array = list.toArray(array);
ABC[] array = list.toArray(new ABC[list.size()])