为了账号安全,请及时绑定邮箱和手机立即绑定

这段在学生类中重写的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);

}


正在回答

3 回答

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

福工刘德华 提问者

对的,我就是想问当前对象的对象指的是哪个对象,难道就是参数o吗?
2017-11-06 回复 有任何疑惑可以回复我~
#2

福工刘德华 提问者

那个this指的是collections吗?
2017-11-06 回复 有任何疑惑可以回复我~
#3

福工刘德华 提问者

或者可不可以理解为那个this是第一次调用compareble方法的student对象?
2017-11-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信