student中重写的conpareTo:
@Override
public int compareTo(student o) {
// TODO 自动生成的方法存根
return this.id.compareTo(o.id);
}
要求排序的student泛型的list:
List<student> studentlist = new ArrayList<student>();
Random r1 = new Random();
studentlist.add(new student(100000000 + "", "A"));
studentlist.add(new student(r1.nextInt(1000) + "", "MING"));
studentlist.add(new student(r1.nextInt(1000) + "", "Hong"));
studentlist.add(new student(r1.nextInt(1000) + "", "Lv"));
System.out.println("------排序前------");
for (student student : studentlist) {
System.out.println("学生" + student.id + ":" + student.name);
}
Collections.sort(studentlist);
System.out.println("------排序后------");
for (student student : studentlist) {
System.out.println("学生" + student.id + ":" + student.name);
}
这部分代码是在Student类中修改的,this代指的是当前的类Student的属性值
this引用指代的是后面属性或方法的持有者。compareTo方法的持有者调用该方法,该方法接收另一个student对象,对两者的id进行比较。
compareTo中的this表示把当前对象的id和传入的学生对象o的id进行比较。