A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵方明 中级黑马   /  2012-8-16 12:25  /  1751 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

?extends E 是上限,指的是可以传入E和E的子类型
?super E 中 E是下限,指的是可以传入E和E的父类
然而在泛型限定2中,讲到
TreeSet(Comparator<? super E> comparator)的时候,用了这个
class Comp implements Comparator<Person>//视频上说这个Person的意思是可以存入Person和Person的子类Student和Worker
{
public int compare(Person p1,Person p2)
{
  return p2.getName().compareTo(p1.getName());
}
}
这里是? super E啊,给定的不应该是下限吗?

1 个回复

正序浏览
你查错文档了 应该看看Comparator类 它是一个接口并定义了泛型Comparator<T>
Comp类实现的是Comparator接口那么就是可以接受Person由于多态的特性,所以也可以是它的子类

这和TreeSet中的Comparator方法没有关系
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马