在Java类型参数中,仅指严格的亚型? 还是E也足够了?

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

是的, superextends给出了包含的下限和上限。

以下是Angelika Langer的generics常见问题解答 :

什么是有界通配符?

带上限的通配符看起来像? extends Type ? extends Type ,代表所有类型的族,它们是TypeType包括 TypeType称为上限

下限的通配符看起来像? super Type ? super Type和代表类型的所有类型的族,类型包括 TypeType称为下限

这不严格; E就足够了。

 List animalList=new List(); List animalList=new List(); 

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