给student对象排序:
package com.example.suanfademo.sort;
//1.定义一个学生类student,具有年龄age和姓名username两个属性,并通过Comparable接口提供比较规则
public class Student implements Comparable<Student>{
private String username;
private int age;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"username='" + username + '\'' +
", age=" + age +
'}';
}
@Override
public int compareTo(Student o) {
return this.getAge()-o.getAge();
}
}
package com.example.suanfademo.TestComparable;
//1.定义测试类,在测试类test中定义测试方法Comparable getMax(Compaarble c1,Comparable c2)完成测试
import com.example.suanfademo.sort.Student;
public class TestComparable {
public static void main(String[] args) {
//创建两个Student对象,并调用getMax方法,完成测试
Student s1 = new Student();
s1.setUsername("张三");
s1.setAge(18);
Student s2 = new Student();
s2.setUsername("李四");
s2.setAge(20);
Comparable max = getMax(s1, s2);
System.out.println(max);
}
public static Comparable getMax(Comparable c1,Comparable c2){
int result = c1.compareTo(c2);
//如果result<0,c1比c2小
//如果result>0,c1比c2大
//如果result=0,c1和c2一样大。
if (result>=0){
return c1;
}else {
return c2;
}
}
}