来自http://docs.oracle.com/javase/tutorial/java/generics/subtyping.html的图片
List<? super Number>
如何成为List<? super Integer>
的子类型?
答案 0 :(得分:2)
这是因为List<? super Integer>
是可以转换为可以从List<? super Number>
转换的所有列表的捕获。
让我们看看所有类型都可以从List<? super Number>
中获取可转换的内容:
List<Number>
List<Object>
List<Serializable>
List<? super Integer>
可以捕获 - 转换为所有上述类型。因此,您可以安全地将List<? super Number>
分配给List<? super Integer>
,而不会出现任何编译器错误。
如果您正在考虑what is capture-conversion,则表示您可以将List<Number>
分配给List<? super Number>
。
答案 1 :(得分:1)
super
的任何Number
也是super
的{{1}}。
如下所述,我给出的示例实例不会编译。这可能不是展示它的最佳方式。