public class PersonTest implements Comparable{
private String name;
private int age;
public PersonTest(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public int compareTo(Object o) {
if (o instanceof PersonTest){
PersonTest o1 = (PersonTest) o;
return Double.compare(this.age,o1.age);
}
throw new RuntimeException("传入数据类型不匹配");
}
@Override
public String toString() {
return "PersonTest{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
public static void main(String[] args) {
PersonTest[] arr = new PersonTest[5];
arr [0] = new PersonTest("ak1", 20);
arr [1] = new PersonTest("ak2", 23);
arr [2] = new PersonTest("ak3", 14);
arr [3] = new PersonTest("ak4", 51);
arr [4] = new PersonTest("ak5", 32);
System.out.println(Arrays.toString(arr));
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
}
运行结果:
为什么compareTo()返回了1,0,-1就能实现对象排序的功能