8

在 Java 类型参数中,是否仅表示严格的子类型?还是E也足够了?

4

3 回答 3

7

这并不严格;E就足够了。

于 2010-06-28T22:47:30.360 回答
6

是的,super并且extends分别给出了包容性的下限和上限。

这是Angelika Langer 的泛型常见问题解答中的引述:

什么是有界通配符?

具有上限的通配符看起来像? extends Type并代表所有类型的家族,它们是 的子类型Type,类型Type包括在内Type称为上界

具有下限的通配符看起来像? super Type并代表所有类型的家族,它们是 的超类型Type,类型Type包括在内Type称为下界

于 2010-06-29T07:51:27.680 回答
1
List<? extends Animal> animalList=new List<Dog>();
List<? extends Animal> animalList=new List<Animal>();

这两行都编译没有任何错误。任何将列表作为参数的函数都理解列表中的对象是 E 类型或 E 的子类型。

于 2010-06-29T05:12:14.943 回答