最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機立即綁定

誰能告訴我這里面的this代表什么?如果o是代表傳入的學(xué)生對象,那么this又代表什么?

代碼:

@Override

public int compareTo(student o) {

// TODO 自動生成的方法存根

return this.id.compareTo(o.id);

}


正在回答

2 回答

比如你有Student? ?A,Student B,兩個對象,這樣用:A.compareTo(B)。這里的compareTo就是上面寫的方法,f方法里的this就是你調(diào)用方法的這個對象,也就是這的A,o是傳入的對象,就是這的B。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

福工劉德華 提問者

因為我要給student的泛型排序,collections.sort(studentList)報錯,所以重寫了這個compareTo方法,所以你所舉例的學(xué)生A在這里我可以理解為指的是我所定義的那個student泛型的list(studentList)嗎?
2017-11-06 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕粉3617928 回復(fù) 福工劉德華 提問者

這個sort排序也是要去進行兩個對象的比較的,sort在這是根據(jù)compareTo對對象比較來排序的,所以需要你定義這個方法。這里collection里是對象,對象的比較是需要你去定義比較的方式的,也就是定義的compareTo,和equals類似。這里sort方法里是調(diào)用了compareTo方法去比較排序,至于你說的this是什么?他實際也是通過剛說的A、B這種形式來比較的,就是這里面的對象Student。 這個需要配合代碼看更容易理解,實在不明白,先記下上面說的用法,至于collection.sort就是它方法里的具體實現(xiàn)了。
2017-11-06 回復(fù) 有任何疑惑可以回復(fù)我~

這里的this指的是調(diào)用該改寫后的compareTo方法的對象,比如一個Student對象a,那么在對象a中調(diào)用compareTo方法就是a.compareTo(o),那么這個this指針指向的就是a對象,那么這個a.compareTo(o)的作用就是返回a.id與o.id的比較值,也就是在這里再調(diào)用a的屬性id中的compareTo方法與o.id進行比較。從而實現(xiàn)根據(jù)學(xué)生id來對學(xué)生進行排序。重寫這個方法主要是因為用sort方法對集合元素進行排序的時候,sort方法是通過對集合里的元素兩兩之間調(diào)用compareTo方法來排序的。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

福工劉德華 提問者

因為我要給student的泛型排序,collections.sort(student)報錯,所以重寫了這個compareTo方法,所以你所說的那個調(diào)用當(dāng)前compareto的對象指的是collections類嗎?還是說這個this指的的是構(gòu)造方法里的student,但是構(gòu)造方法里的我是寫string id;并沒有賦初值又怎么和傳進來的student o比較呢?
2017-11-06 回復(fù) 有任何疑惑可以回復(fù)我~
#2

福工劉德華 提問者

是collections.sort(studentlist)
2017-11-06 回復(fù) 有任何疑惑可以回復(fù)我~
#3

_Devil___4213279 回復(fù) 福工劉德華 提問者

調(diào)用當(dāng)前方法的對象指的是Student類,它要實現(xiàn)了Comparable接口,才能使用collections類中的靜態(tài)方法sort。 你改寫Comparable接口中的的compareTo方法,使它能夠通過比較學(xué)生id來進行排序。至于聲明了id對象卻沒有賦值,我認(rèn)為這個時候是沒有辦法調(diào)用id屬性的compareTo 方法進行比較的??梢杂肊clipse跑一跑,看看會不會拋出異常。
2017-11-06 回復(fù) 有任何疑惑可以回復(fù)我~
#4

福工劉德華 提問者 回復(fù) _Devil___4213279

可是我認(rèn)為this(即student).id的id沒有任何初值,如何compareto(o.id即傳進來的學(xué)生對象)
2017-11-06 回復(fù) 有任何疑惑可以回復(fù)我~
#5

_Devil___4213279 回復(fù) 福工劉德華 提問者

在這個問題上我也是和你一樣的想法法的呀,id為null,就不能調(diào)用其compareto方法。
2017-11-07 回復(fù) 有任何疑惑可以回復(fù)我~
查看2條回復(fù)

舉報

0/150
提交
取消

誰能告訴我這里面的this代表什么?如果o是代表傳入的學(xué)生對象,那么this又代表什么?

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號