equal重寫中既然已經(jīng)判斷了obj是course 類型的.......為什么還要把它再強(qiáng)轉(zhuǎn)成course類型進(jìn)行值的比較?
有人說:從list中提出來的是object基本類型,需要強(qiáng)轉(zhuǎn)!我想起之前foreach輸出時(shí),也是需要把從list中提出來的實(shí)例進(jìn)行類型強(qiáng)轉(zhuǎn),然后再打印輸出,可是問題是既然提出來的實(shí)例是object基礎(chǔ)類,那么用obj instanceof course這條指令還能判斷類型?
2017-04-12
equals方法是Object類中的。判斷為真說明類型相同,obj在被強(qiáng)轉(zhuǎn)成Course類型之前相當(dāng)于被向上轉(zhuǎn)型為Object類型,這里只是再一次轉(zhuǎn)回Course類型。如果說obj不是Course類型的話,這里的強(qiáng)轉(zhuǎn)是不會(huì)成功的。想要更多了解的話,建議多看看引用類型的強(qiáng)轉(zhuǎn)。
我也是小白,多看多想多練,會(huì)有成績的,大家一起加油吧!
2017-08-10
樓上回答我認(rèn)為錯(cuò)誤。obj instanceof Course 判斷obj是不是Course的實(shí)例或Course子類實(shí)例。
如果為子類實(shí)例則需要qi強(qiáng)轉(zhuǎn)