问答详情
源自:6-8 学生选课--- 实现学生序列排序

这段在学生类中重写的compareTo中的this代表什么?如果o是代表传入的学生对象,那么return中的那个this又代表什么呢?

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);

}


提问者:福工刘德华 2017-11-06 10:36

个回答

  • 白泽飞落
    2018-01-04 12:06:48

    这部分代码是在Student类中修改的,this代指的是当前的类Student的属性值

  • qq_123木头人_17
    2017-12-27 13:58:31

    this引用指代的是后面属性或方法的持有者。compareTo方法的持有者调用该方法,该方法接收另一个student对象,对两者的id进行比较。

  • SexualDesire
    2017-11-06 13:23:11

    compareTo中的this表示把当前对象的id和传入的学生对象o的id进行比较。