您的位置:首页 > 编程语言

泛型限定二---用父类定义比较器,用于子类,减少代码,节约空间

2015-11-21 14:54 447 查看
/*
定义比较器的时候可以定义父类的比较器,这样其子类对象都可以调用,避免了要根据不同的对象定义不同的比较器。
*/
import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;

class compare implements Comparator<Person2>{
public int compare(Person2 t1, Person2 t2) {
// TODO 自动生成的方法存根
return t1.getName().compareTo(t2.getName());
}
}
public class GenericDemo2 {
public static void main(String[] args) {
TreeSet<Student3> ts=new TreeSet<Student3>(new compare());
ts.add(new Student3("abc001"));
ts.add(new Student3("abc003"));
ts.add(new Student3("abc002"));
ts.add(new Student3("abc004"));

Iterator<Student3> it=ts.iterator();
while(it.hasNext())
{
System.out.println(it.next().getName());
}
TreeSet<Worker> wk=new TreeSet<Worker>(new compare());
wk.add(new Worker("w---abc001"));
wk.add(new Worker("w---abc006"));
wk.add(new Worker("w---abc004"));
wk.add(new Worker("w---abc003"));
wk.add(new Worker("w---abc005"));
Iterator<Worker> it1=wk.iterator();
while(it1.hasNext()){
System.out.println(it1.next().getName());
}
}
}

class Person2{
private String name;
Person2(String name){
this.name=name;
}
public String getName(){
return name;
}
}
class Student3 extends Person2{
Student3(String name){
super(name);
}
}
class Worker extends Person2{
Worker(String name){
super(name);
}
}


结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: