Java比较器之Comparable和Comparator
上篇👇
java之String、StringBuffer 、 StringBuilder有什么区别?String不可变?
比较器
如果需要比较对象之间的某一个属性之间的大小,就可以使用到Java中的比较器。
Comparable
Comparable是个接口,通过对象实现Comparable接口,重写compareTo()方法。
实现:class 要比较的类的类名 implements Comparable<要比较的类的类名>{
int compareTo(T o){
}
}
如:
class Person implements Comparable{
@Override
public int compareTo(Person o) {
return o.age-this.age;
}
}
如果当前对象this大子形参对象obj,则返回正整数,如果当前对象this小于形参对象obj,则返回负整数,如果当前对象this等于形参对象obi,则返回零。
比如要比较Person类的年龄,我们可以让Person类实现Comparable接口,重写compareTo()方法。👇
package Demo;
import java.util.Arrays;
/**
* user:ypc;
* date:2021-04-27;
* time: 19:37;
*/
class Person implements Comparable<Person>{
public int age;
public String name;
public Person(int age, String name) {
this.age = age;
this.name = name;
}
@Override
public String toString() {
return "Person{" +
"age="