什么是
哪一个更好,或在什么情况下我们应该使用它们?
List<Integer>
和List<? super Integer>
之间的区别?哪一个更好,或在什么情况下我们应该使用它们?
List<Integer>
是一个 List
,它被限制在类型 Integer
上。这意味着它可以接收和产生 Integer
。
List<? super Integer>
是一个无限制的 List
,它接受任何值,这些值是 Integer
或 Integer
的超类。T
的项目,而不考虑它的实际类型,这将非常有用。List<Integer>
是这里最好的选择。
如果你正在处理多态性,List<? super AbstractObject>
将是更好的选择。
List<Integer>
的列表中获取元素时,你可以得到类型为Integer
的元素,但是当你从类型为List<? super Integer>
的列表中获取元素时,你只能得到类型为Object
的元素。
super
起作用吗? - Marco Forberg