黑马程序员技术交流社区

标题: 泛型类型限定的问题 [打印本页]

作者: yooc    时间: 2013-6-14 18:01
标题: 泛型类型限定的问题
本帖最后由 孙百鑫 于 2013-6-15 09:40 编辑

形式A:<? extends E> :可以接收E类型或E类型的子类。上限。
形式B:<? super E>   : 可以接受E类型或者E的父类。    下限。

我理解的是 A可以接受E或E的子类   B可以接受E或者E的父类。
可为什么在毕老师15天13的视频中,B接受的是E的子类?


我不淡定了,难道我理解反了?
作者: yooc    时间: 2013-6-14 18:37
版主没有回答问题。。
我补充下,图中Comparator<? super E> 毕老师写的Comparator<Person>  则按理解Comparator可以接受Person或者其父类,但毕老师传递的参数都是Person的子类 比如Student。
该怎么理解?
作者: 风乐    时间: 2013-6-14 23:42
Comparator<? super E>这个泛型限定的是父类,也就是说你写的<>里的内容要是父类,那你使用时实际传入的不就该是子类了么
作者: 尹丽峰    时间: 2013-6-14 23:52
<?extends E> 可以接收E类型或者E类型子类型   
<?super E> 可以接收E类型或者super类型的子类型
也就是说 extends E 就是可以接收E(父类类型)或者继承了E类型的子类型的、
super E 可以接收E类型 或者E类型父类的子类型。说到这我也蒙圈了!!   

作者: 孙百鑫    时间: 2013-6-15 06:51
楼主您好.如果问题解决的话.请及时将主图改成已解决哦~
作者: yooc    时间: 2013-6-15 09:11
孙百鑫 发表于 2013-6-15 06:51
楼主您好.如果问题解决的话.请及时将主图改成已解决哦~

回版主,无法编辑问题
作者: 孙百鑫    时间: 2013-6-15 09:39
yooc 发表于 2013-6-15 09:11
回版主,无法编辑问题

我帮您修改了:)
作者: yooc    时间: 2013-6-15 13:55
孙百鑫 发表于 2013-6-15 09:39
我帮您修改了

谢谢版主。不过本着求实的态度,这个问题还有点半吊子,不算解决。随着以后的学习再慢慢深入理解吧!




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