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