誰能告訴我這里面的this代表什么?如果o是代表傳入的學(xué)生對(duì)象,那么this又代表什么?
代碼:
@Override
public int compareTo(student o) {
// TODO 自動(dòng)生成的方法存根
return this.id.compareTo(o.id);
}
代碼:
@Override
public int compareTo(student o) {
// TODO 自動(dòng)生成的方法存根
return this.id.compareTo(o.id);
}
2017-11-06
舉報(bào)
2017-11-06
比如你有Student? ?A,Student B,兩個(gè)對(duì)象,這樣用:A.compareTo(B)。這里的compareTo就是上面寫的方法,f方法里的this就是你調(diào)用方法的這個(gè)對(duì)象,也就是這的A,o是傳入的對(duì)象,就是這的B。
2017-11-06
這里的this指的是調(diào)用該改寫后的compareTo方法的對(duì)象,比如一個(gè)Student對(duì)象a,那么在對(duì)象a中調(diào)用compareTo方法就是a.compareTo(o),那么這個(gè)this指針指向的就是a對(duì)象,那么這個(gè)a.compareTo(o)的作用就是返回a.id與o.id的比較值,也就是在這里再調(diào)用a的屬性id中的compareTo方法與o.id進(jìn)行比較。從而實(shí)現(xiàn)根據(jù)學(xué)生id來對(duì)學(xué)生進(jìn)行排序。重寫這個(gè)方法主要是因?yàn)橛胹ort方法對(duì)集合元素進(jìn)行排序的時(shí)候,sort方法是通過對(duì)集合里的元素兩兩之間調(diào)用compareTo方法來排序的。