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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yninggis 中级黑马   /  2014-11-25 09:49  /  779 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在学习泛型限制的内容,看到比向东_java基础视频教程里面讲到有定义泛型下限的例子,但自己试了下,不成功,代码如下。其中Student继承了Person。
说明:用Student定义了比较器,然后父类集合使用了该比较器。
class MyCompare implements Comparator<Student>//相当于定义了一个泛型下限的比较器
{                                                                                          
        public int compare(Student s1,Student s2)
        {
                return s1.getName().compareTo(s2.getName());
        }
}
class GenDemo3
{
        public static void main(String[] args)
        {
                TreeSet<Person> tr = new TreeSet<Person>(new MyCompare());//定义TreeSet容器并传比较器对象
                tr.add(new Person("lisi01"));
                tr.add(new Person("lisi02"));
                Iterator<Person> it = tr.iterator();
                while (it.hasNext())
                {
                        System.out.println(it.next().getName());
                }
        }
}
       

1 个回复

倒序浏览
TreeSet(Comparator<? super E> comparator)
以构造方法进行传入比较器,那么比较器中的泛型必须是E的父类,而E 是 TreeSet类中的泛型参数
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马