# 简单排序
Java提供了一个接口Comparable(lang包下的)就是用来定义排序规则的,在这里我们以案例的形式对Comparable接口做一个简单的回顾。
# 需求
- 定义一个学生类Student,具有年龄age和姓名username两个属性,并通过Comparable接口提供比较规则;
- 定义测试类Test,在测试类Test中定义测试方法Comparable getMax(Comparable c1,Comparable c2)完成测试
# 学生类
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Student implements Comparable<Student> {
private String name;
private int age;
@Override
public int compareTo(Student o) {
return this.getAge() - o.getAge();
}
}
# 测试类
public class SimpleCompare {
public static void main(String[] args) {
Student zs = new Student("张三", 18);
Student lisi = new Student("李四", 20);
System.out.println(getMax(zs, lisi));//张三
}
private static <T> Comparable<T> getMax(Comparable a, Comparable b) {
return a.compareTo(b) >= 0 ? a : b;
}
}