黑马程序员技术交流社区

标题: ? extends T 和 ? super T还是不太懂啊。 [打印本页]

作者: bullfrog    时间: 2014-9-10 11:43
标题: ? extends T 和 ? super T还是不太懂啊。
本帖最后由 bullfrog 于 2014-9-10 22:34 编辑

到底是什么意思,怎么用的?

作者: fantacyleo    时间: 2014-9-10 12:50
? extends T: T或T的子类(子接口、实现类)
? super T:T或T的父类(父接口)
作者: JerryJava    时间: 2014-9-10 13:49
泛型限定,一个是确定上限 ,凡是继承T类的子类都可以存。 另一个是确定下限,凡是T的父类都可以, 其中? super T常常用于比较器。 不懂的话可以再看两边视频,把其中的例子好好敲两边~ 祝成功。
作者: wawsc5354524    时间: 2014-9-10 14:11
前者是继承关系,后者是子类调用父类的成员变量或者方法
作者: 家进    时间: 2014-9-10 14:19
泛型的限定
? extends T   T的子类(包含T)
? super T     T的父类(包含T)
作者: huanglyhf    时间: 2014-9-10 16:29
泛型上限和下限!
作者: nagi    时间: 2014-9-10 16:55
extends T 是继承父类,super T 指的是将子类的参数类型转为父类的参数类型!
作者: likeermei    时间: 2014-9-10 22:31
泛型限定, extends T   T的子类(包含T), super T     T的父类(包含T)泛型提供了一个宽泛的灵活的机制,有些时候因为不知道到底是什么类型,不能限定死交给实例去决定什么类型,但又不能不加限定使之过于宽泛。所以提供了泛型的限定机制。类似于接口活着抽象类的意思,限定了一个体系。

作者: 逍遥呆    时间: 2014-9-10 23:08
T是一个类型,这个类型是自己后传的。
? extends T:?是通配符,就是没有要求但是,要看后面,后面写了,extends是继承的意思。很好理解了,所有继承T的类。
? super T:同上,super是父类的标志,所有T的父类。
作者: zz_job    时间: 2014-9-10 23:46
我的理解是:这不是代码的格式,而是表达式。  ? extends T,就是说?这个类只要是继承自T这个父类的类都可以。? super T同理。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2