一般,Java中通过接口实现两个对象的比较,比较常用就是Comparable接口和Comparator接口。首先类要实现接口,并且使用泛型规定要进行比较的对象所属的类,然后类实现了接口后,还需要实现接口定义的比较方法,在这些方法中传入需要比较大小的另一个对象,通过选定的成员变量与之比较,如果大于则返回1,小于返回-1,相等返回0。
Comparable实现
public class People implements Comparable<People>{
private String name;
private Integer age;
public Integer getAge() {
return age;
}
@Override
public int compareTo(People o) {
// 按年龄从小到大排序
if(this.age > o.getAge()) {
return 1;
} else if (this.age < o.getAge()) {
return -1;
}
// 相等情况
return 0;
}
}
Comparator实现