标题: 关于<? super E>与<? extends E>的问题 [打印本页] 作者: 小黑子 时间: 2014-9-14 13:25 标题: 关于<? super E>与<? extends E>的问题 现有如下类关系:
class SuperPeron
{}
class Person extends SuperPeron
{}
class Student extends Person
{}
class Worker extends Person
{}
本来我以为,<? extends E> 是向上限定,参数类型可以是E及其子类,但不能是E的父类。(事也确实这样)
本来我以为,<? super E> 是向下限定,参数类型可以是E及其父类,但不能是E的子类。(但看了毕老师的视频:day15-13集合框架(泛型限定2),我就不会了。。。)
毕老师在讲的时候,两次打开API强调: TreeSet(Comparator<? super E> comparator) 中的<? super E>,所以我觉得他就是在讲<? super E>的用法。
可是<? super E>应该是”向下限定,参数类型可以是E及其父类,但不能是E的子类“。 但是毕老师这一节视频中讲的,完全不是这个规则。毕老师讲的恰恰是“参数类型可以是E及其子类,但不能是E的父类 ”。代码如下:是我哪里理解错了呀~~~~求指教!!!