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);
現在我要到ArrayList轉換成數組toArray()
方法,但是這個方法返回Object[];
。
現在我可以強制轉換由一個的Object[]
一個元素到ABC型對象,並創建ABC[];
,
但是否有任何其他的方式來強制轉換對象[]到ABC []在一個命令?事情是這樣的
ABC[] array=(ABC[])list.toArray();
雖然此命令拋出該異常
異常在線程 「主要」 java.lang.ClassCastException:[Ljava.lang.Object;不能被轉換爲[LABC; **
任何幫助
Cast不會更改對象的類和數組的類是'Object []'。您可以使用System.arraycopy將數組複製到所需的類之一。 – 2013-02-18 17:50:26