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