java吧 关注:1,244,106贴子:12,717,368
  • 11回复贴,共1

关于泛型的一个问题,大神帮我理解一下

只看楼主收藏回复

我定义了一个比较器
public class CompareByName implements Comparator<Person> {......}
这个比较器是不是只能比较 Person 类型的对象?
Set<Student> has2 = new TreeSet<Student>(new CompareByName() );
然而为什么用Person的子类Student也能使用比较器呢?


IP属地:广东1楼2015-12-09 18:44回复
    前排围观!!


    2楼2015-12-09 19:00
    回复
      向上转型了


      IP属地:河南3楼2015-12-09 19:06
      收起回复
        哈哈 毕老师的视频是不是 我刚看完泛型


        IP属地:四川来自Android客户端4楼2015-12-09 19:12
        收起回复
          TreeSet的构造方法签名是TreeSet(Comparator<? super E> comparator),所以对于TreeSet<Student>,Comparator<Person>是合法的参数


          IP属地:广西5楼2015-12-09 20:32
          回复


            来自Android客户端6楼2015-12-09 20:35
            回复