Java的下限是独占的还是包容性的?

时间:2013-05-25 04:08:03

标签: java generics bounded-wildcard

我正在阅读Java完整参考文献第7版,并且它说Java Generics的下限是独占的,但我发现了相反的here(它说它是包容性的。)是因为SE 6不同来自SE 7?

编辑:Java完整参考第7版讨论 SE 6

2 个答案:

答案 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节中,它将短语“适当的子类型/适当的超类型”定义为独占子类型/超类型,而“子类型/超类型”表示包含子类型/超类型。