Java 类型转换问题

标签 java generics covariance

Possible Duplicates:
How to Cast a Vector<ObjectA> to Vector<ObjectB> in Java?
Is List&lt;Dog&gt; a subclass of List&lt;Animal&gt;? Why aren't Java's generics implicitly polymorphic?

我在 java 类型转换方面遇到逻辑问题。 我有一个类A,它扩展了B类,因此我可以有这样的声明 A a = new B(); 但为什么我收到 Vector<A> va = new Vector<B>(); 的编译器错误或Vector<A> va = (Vector<A>)new Vector<B>();

最佳答案

java 泛型不支持协方差,因此 Vector<B> 扩展 Vector<A>

关于Java 类型转换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6145206/

相关文章:

java - 在java swing中调整窗口大小时如何使按钮粘在一个地方?

java - 安卓工作室 : Imageview background blurs on larger minimum size than image

c# - 拦截通过 DynamicProxy 返回通用 Task<> 的异步方法

java - 泛型函数是如何在java中实现的?

.net - 有没有办法将通用列表转换为接口(interface)/基类类型列表?

java - org.apache.jasper.JasperException : java. lang.NullPointerException:找不到模块 'null'

java - 应用程序代码曾经可以工作,但现在崩溃了

c# - Reflection Get List<> from List<T>(来自通用容器类型的容器类型)

java - 为什么 Map.remove() 不使用类型参数?

java - Kotlin:泛型和方差