Java 内部比较器
public class Studentimplements Comparable {
int age;
Stringname;
double heidth;
public Student(int age, String name, double heidth) {
this.age = age;
this.name = name;
this.heidth = heidth;
}
public Student(){}
@Override
public int compareTo(Object o) {//a.compareTo(b)
Student b = (Student) o;
//按照年龄进行比较:
//return this.age-b.age;
//按照身高比
//return ((Double)this.heidth).compareTo((Double)b.heidth);
//按照姓名比:
//return this.name.compareTo( b.name );
//按照年龄和身高比:
if (this.age - b.age !=0) {
return this.age - b.age;
}else {
return ((Double)this.heidth).compareTo( (Double) b.heidth );
}
}
}
测试比较器
public class Test {
public static void main(String[] args) {
Student a =new Student(18,"Aili",171.2);
Student b =new Student(1,"anana",172.2 );
//System.out.println(a.compareTo( b ));//按照年龄比
//System.out.println(a.compareTo( b ));//按照身高比
//System.out.println(a.compareTo( b ));//按照名字比
System.out.println(a.compareTo( b ));
}
}