import java.util.Arrays;
class Student implements Comparable{ //要想让Student这个类的实例对象能排序,就一定要显示comparable这个接口
int age;
String name;
Student(int age,String name){
this.age = age;
this.name = name;
}
public int compareTo(Object s){ //实现接口方法
Student s1 = (Student)s;
return this.age>s1.age?1:(this.age == s1.age?0:-1);// 比较age
}
public String toString(){ //此处为方法重载!原方法为object的成员函数: toString 方法返回一个字符串,
//该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。
//换句话说,该方法返回一个字符串,它的值等于:
//getClass().getName() + '@' + Integer.toHexString(hashCode())
return "age:"+age+" name:"+name;
}
}
class Copy_Test {
public static void main(String[] args){
Student[] stu = {new Student(12,"s1"),new Student(15,"s2"),new Student(11,"s3")};
Arrays.sort(stu); //通过Arrays的sort方法对stu对象的age排序。
for(int i=0; i<stu.length;i++){
System.out.println(stu[i]);
}
}
}