第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

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

代碼:

@Override

public int compareTo(student o) {

// TODO 自動(dòng)生成的方法存根

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

}


正在回答

2 回答

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

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

福工劉德華 提問者

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

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

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

這里的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方法來排序的。

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

福工劉德華 提問者

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

福工劉德華 提問者

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

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

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

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

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

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

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

舉報(bào)

0/150
提交
取消

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

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

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

幫助反饋 APP下載

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

公眾號(hào)

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