编写Student类实现Comparable接口,重写compareTo方法
package sort;
//定义一个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) {
// TODO Auto-generated method stub
return this.age - o.age;
}
}
package test;
import sort.Student;
public class TestComparable {
public static void main(String[] args) {
Student s1 = new Student();
s1.setUsername("小强");
s1.setAge(18);
Student s2 = new Student();
s2.setUsername("小红");
s2.setAge(19);
Comparable max = getMax(s1,s2);
//由于重写了toString方法,所以可以输出信息
System.out.println(max);
}
//返回较大的对象
public static Comparable getMax(Comparable c1,Comparable c2) {
int result = c1.compareTo(c2);
if(result >= 0) {
return c1;
}else {
return c2;
}
}
}