1

我正在阅读 Java 完整参考第 7 版,它说 Java 泛型中的下限是排他性的,但我在这里发现了相反的情况(它说它是包容性的。)是因为 SE 6 与 SE 7 不同吗?

编辑:Java the Complete Reference 7th edition 讨论了SE 6

4

2 回答 2

2

界限是包容的。

自己尝试很容易:

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);
                }
        }
}
于 2013-05-25T04:20:44.953 回答
1

在规范中,他们在参数化中使用“子类型”一词来表示包容性子类型。在第 4.10 节中,它定义短语“适当的子类型/适当的超类型”表示独占的子类型/超类型,而“子类型/超类型”表示包含的子类型/超类型。

于 2013-05-25T04:30:36.217 回答