我有几个关于 Java 中通用通配符的问题:
有什么区别List<? extends T>
and List<? super T>
?
什么是有界通配符,什么是无界通配符?
在你的第一个问题中,<? extends T>
and <? super T>
是有界通配符的示例。无界通配符看起来像<?>
,基本上意味着<? extends Object>
。它粗略地意味着泛型可以是任何类型。有界通配符 (<? extends T>
or <? super T>
)对类型进行了限制,说它要么必须extend特定类型(<? extends T>
被称为上限),或者必须是特定类型的祖先(<? super T>
称为下界)。
Java 教程的文章中对泛型有一些很好的解释通配符 http://java.sun.com/docs/books/tutorial/java/generics/wildcards.html and 使用通配符更有趣 http://java.sun.com/docs/books/tutorial/extra/generics/morefun.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)