代码:
@Override
public int compareTo(student o) {
// TODO 自动生成的方法存根
return this.id.compareTo(o.id);
}
比如你有Student A,Student B,两个对象,这样用:A.compareTo(B)。这里的compareTo就是上面写的方法,f方法里的this就是你调用方法的这个对象,也就是这的A,o是传入的对象,就是这的B。
这里的this指的是调用该改写后的compareTo方法的对象,比如一个Student对象a,那么在对象a中调用compareTo方法就是a.compareTo(o),那么这个this指针指向的就是a对象,那么这个a.compareTo(o)的作用就是返回a.id与o.id的比较值,也就是在这里再调用a的属性id中的compareTo方法与o.id进行比较。从而实现根据学生id来对学生进行排序。重写这个方法主要是因为用sort方法对集合元素进行排序的时候,sort方法是通过对集合里的元素两两之间调用compareTo方法来排序的。