外部比较器
public class WaiBuBiJiaoQi {
int age;
Stringname;
double heidth;
public WaiBuBiJiaoQi(int age, String name, double heidth) {
this.age = age;
this.name = name;
this.heidth = heidth;
}
}
class BJimplements Comparator {
@Override
public int compare(Object o1, Object o2) {
//比较两个人的年龄:
WaiBuBiJiaoQi a = ((WaiBuBiJiaoQi) o1);
WaiBuBiJiaoQi b = ((WaiBuBiJiaoQi) o2);
return a.age - b.age;
}
}
class BJ2implements Comparator{
@Override
public int compare(Object o1, Object o2) {
//比较两个人的身高:
WaiBuBiJiaoQi a = ((WaiBuBiJiaoQi) o1);
WaiBuBiJiaoQi b = ((WaiBuBiJiaoQi) o2);
return ((Double)a.heidth).compareTo((Double)b.heidth);
}
}
测试类
public class Test1 {
public static void main(String[] args) {
WaiBuBiJiaoQi a =new WaiBuBiJiaoQi(18,"lili",180.6 );
WaiBuBiJiaoQi b =new WaiBuBiJiaoQi(20,"nana",195.2 );
/*BJ2 bj=new BJ2();
int num = bj.compare(a,b);
System.out.println(num);*/
Comparator bj =new BJ2();//多态
int num = bj.compare( a,b );
System.out.println(num);
}
}