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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 林志进 中级黑马   /  2012-10-25 23:11  /  1616 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在泛型中,我们将<? super E>定义为下限,只要是E或者E的父类都可以满足条件。
实际应用中,假设父类Father 定义了两个子类 SonOne,SonTwo
我们构建了个集合,TreeSet(Comparator<? super E> comparator) ,在这里传入参数TreeSet<Comparator<Father> compator>
那么他的子类SonOne或者SonTwo的集合都可以使用这个comparator进行排序了。
这样跟<? extends E>有什么区别呢,只要是E或E的子类就能满足条件了?


评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1

查看全部评分

1 个回复

倒序浏览
TreeSet(Comparator<? super E> comparator)里面的?是代表E的子类,而你TreeSet<Comparator<Father> compator>其中Father是SonOne和SonTwo的父类,用父类指向子类是可以的,实现了多态性,只是运行的时候会执行子类的方法,所以能满足条件

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马