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

来源:6-8 学生选课--- 实现学生序列排序

福工刘德华

2017-11-06 10:36

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

}


写回答 关注

3回答

  • 白泽飞落
    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进行比较。

    福工刘德华

    或者可不可以理解为那个this是第一次调用compareble方法的student对象?

    2017-11-06 17:00:06

    共 3 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题