泛型转换问题

泛型转换问题,第1张

泛型转换问题

在第一个示例中,

Arrays.asList()
调用的推断类型
List<Class<? extends A>>
,显然可以将其分配给相同类型的变量。

在第二个示例中,右侧的类型为

List<Class<B>>
。虽然
Class<B>
分配给
Class<? extendsA>
List<Class<B>>
分配给
List<Class<? extends A>>
。它可以分配给
List<? extendsClass<? extends A>>

其原因与a

List<B>
不可分配给的原因相同
List<A>
。如果是这样,它将使以下(非类型安全的)代码成为可能:

List<Class<B>> bb = new ArrayList<B>();List<Class<? extends A>> aa = bb;aa.add(A.class);


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5616141.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-15

发表评论

登录后才能评论

评论列表(0条)

    保存