我正在阅读Java完整参考文献第7版,并且它说Java Generics的下限是独占的,但我发现了相反的here(它说它是包容性的。)是因为SE 6不同来自SE 7?
编辑:Java完整参考第7版讨论 SE 6 。
答案 0 :(得分:2)
界限是包容性的。
try it自己很容易:
import java.util.*;
import java.lang.*;
class Main {
public static void main (String[] args) throws java.lang.Exception {
addNumbers(new ArrayList<Integer>());
}
public static void addNumbers(List<? super Integer> list) {
for (int i = 1; i <= 10; i++) {
list.add(i);
}
}
}
答案 1 :(得分:1)
在说明书中,他们在参数化中使用“subtype”一词来表示包容性子类型。在4.10节中,它将短语“适当的子类型/适当的超类型”定义为独占子类型/超类型,而“子类型/超类型”表示包含子类型/超类型。