2013-02-18 50 views
1

我有一個類類型轉換對象[]到OtherObject []

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; **

任何幫助

+1

Cast不會更改對象的類和數組的類是'Object []'。您可以使用System.arraycopy將數組複製到所需的類之一。 – 2013-02-18 17:50:26

回答