2013-02-18 54 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

回答