我有一个界面A:
interface A {
}
然后我有一个B类:
class B implements A {
}
然后我有一个使用 A 列表的方法:
void process(ArrayList<A> myList) {
}
我想传递一个 B 列表:
ArrayList<B> items = new ArrayList<B>();
items.add(new B());
process(items);
但随后出现类型不匹配的错误。我明白为什么。ArrayList
本身是一种类型,它没有从 转换为ArrayList<B>
的功能ArrayList<A>
。是否有一种快速且资源明智的轻量级方法来形成一个适合传递给我的process
方法的新数组?