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