我有这个接口(interface)和类:
interface I {
void method1();
}
class A implements I {
void method1(){
....
}
}
假设我有这个列表:List<A> aslist
填充了 A 项,我有一个 List<I> vari=null;
类型的变量
我需要做 vari=aslist
?如何以最少的转化次数做到这一点?
最佳答案
你不能。 List<Car>
不是 List<Vehicle>
.如果是,您可以执行以下操作:
List<Car> cars = new ArrayList<Car>();
List<Vehicle> vehicles = (List<Vehicle>) cars;
cars.add(new Bicycle());
因此它会完全破坏集合的类型安全。
您可以执行以下操作:
List<? extends Vehicle> vehicles = cars;
关于java - 将列表转换为其他类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10675172/