Java泛型超级关键字

Java泛型超级关键字,第1张

Java泛型超级关键字

中的有界通配符

List<? super Number>
可以捕获Number及其任何超类型。由于
Number extends Object implements Serializable
,这意味着当前唯一可被捕获转换的类型
List<? super Number>
是:

  • List
  • List
  • List

请注意,你可以

add(Integer.valueOf(0))
使用上述任何一种。但是,你不能
add(new Object())
使用
List<Number>
List<Serializable>
,因为这违反了通用类型安全规则。

因此,它是不是真的,你可以

add
任意超
Number
List<? super Number>
; 根本不是有限的通配符和捕获转换如何工作。你不声明
a
List<? super Number>
因为你可能想向其中添加一个Object(你不能!);之所以这样做,是因为你要向其中添加Number对象(即,它是的“消费者” Number),而仅仅是
a List<Number>
的限制太大。



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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存