java - 将列表转换为其他类型

标签 java

我有这个接口(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/

相关文章:

java - 获取查询<T>

java - 确定树高的代码

java - 类创建性能影响

java - 如何使用 Struts 2 确定页面生成时间?

java - 如何将对象转换为Arraylist

java - Void 和无参数有什么区别?

java - 已签名的 java 应用程序 (.jar) 在 Firefox 中被视为不受信任

java - 如何将 JDom 文档的内容放入 File 对象中?

java 将对象序列化为ByteArray

java - Selenium 和 TestNG 都在一个浏览器中测试