課程
/后端開發(fā)
/Java
/Java入門第三季
equals()方法為什么只比較屬性的值而不比較類的方法是否相同呢?
2018-01-04
源自:Java入門第三季 6-1
正在回答
在老師重寫的equals代碼中開始有三個判定條件
if (this == obj)????????//如果直接可以用==判定會直接返回true
if(obj==null)????????? ?//如果obj為null會直接返回false
if(!(obj instanceof Course))????//注意這一條已經(jīng)在判定obj和Course是否是同一類型了,只有在判定是同類型的情況下才會進行后續(xù)的(Course)obj強制類型轉(zhuǎn)換,否則返回false。
綜上兩個對象完全是同一類型的,那么他們可以調(diào)用的方法一定也相同。
回到具體的例子中,我們程序的目的是判定List coursesToSelect中是否包含課程,我們的目的是通過Course.name屬性判定是否存在包含關(guān)系。從實際角度出發(fā),如果待選課程中包含
????1.高數(shù)????2.語文????3.毛概
我們判定某個Course對象是否包含于其中的時候也只需要比較"高數(shù)",是不是和待選課程中的某一項名稱一樣,也就是只需要判定name屬性就足夠了。
白澤飛落 提問者
題目沒有看懂,Java中,非數(shù)值比較,通常使用equals方法。
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
2 回答equals();方法比較的是兩個對象的內(nèi)容是否相同。為什么在Object類里面比較兩個引用對象時,比較的卻是對象的引用是否指向同一塊地址?必須要重寫equals();方法
4 回答為什么老師重寫的equals方法中name需要用equals()進行比較而不用==?
2 回答為什么我想通過compare方法實現(xiàn)比較2個屬性來排序的方法不對呢
5 回答為什么用equals比較是false
2 回答equals與==比較
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2018-03-15
在老師重寫的equals代碼中開始有三個判定條件
if (this == obj)????????//如果直接可以用==判定會直接返回true
if(obj==null)????????? ?//如果obj為null會直接返回false
if(!(obj instanceof Course))????//注意這一條已經(jīng)在判定obj和Course是否是同一類型了,只有在判定是同類型的情況下才會進行后續(xù)的(Course)obj強制類型轉(zhuǎn)換,否則返回false。
綜上兩個對象完全是同一類型的,那么他們可以調(diào)用的方法一定也相同。
回到具體的例子中,我們程序的目的是判定List coursesToSelect中是否包含課程,我們的目的是通過Course.name屬性判定是否存在包含關(guān)系。從實際角度出發(fā),如果待選課程中包含
????1.高數(shù)????2.語文????3.毛概
我們判定某個Course對象是否包含于其中的時候也只需要比較"高數(shù)",是不是和待選課程中的某一項名稱一樣,也就是只需要判定name屬性就足夠了。
2018-01-04
題目沒有看懂,Java中,非數(shù)值比較,通常使用equals方法。