【发布时间】:2010-07-18 12:31:20
【问题描述】:
我真的不知道这个标题是否合适。
我有两个选择: 选项 1:
Class A {
ArrayList<B> BList = new ArrayList<B>();
public B[] getBList() {
return (B[])BList.toArray();
}
}
Class Facade {
public B[] getAllB(){
A a = new A();
return a.getBList();
}
}
选项 2:
Class A {
ArrayList<B> BList = new ArrayList<B>();
public ArrayList getBList() {
return BList;
}
}
Class Facade {
public B[] getAllB(){
A a = new A();
ArrayList BList = a.getBList();
return (B[])BList.toArray();
}
}
我应该使用哪个选项?
【问题讨论】:
-
ArrayList.toArray返回的数组实际上的运行时类型为Object[]。投射它可能会产生意想不到的后果......