關(guān)于重寫(xiě)equal方法的一個(gè)疑問(wèn)
有個(gè)疑問(wèn),重寫(xiě)equals方法后,總是返回一個(gè)true值,也就是說(shuō)無(wú)論怎么比較他都是true值,并不是兩個(gè)對(duì)象指向同一個(gè)內(nèi)存空間了,那么比較還有什么意義呢。
有個(gè)疑問(wèn),重寫(xiě)equals方法后,總是返回一個(gè)true值,也就是說(shuō)無(wú)論怎么比較他都是true值,并不是兩個(gè)對(duì)象指向同一個(gè)內(nèi)存空間了,那么比較還有什么意義呢。
2016-09-04
舉報(bào)
2017-02-21
你理解的IF有問(wèn)題,IF是當(dāng)判斷條件滿足時(shí)輸出返回值;
所以,老師的語(yǔ)句理解起來(lái)就是;
1(this==obj)判斷兩個(gè)對(duì)象是否指向同一對(duì)象,若是則不用后續(xù)判斷直接輸出 true;2.當(dāng)前面條件不成立時(shí)(this和obj指向不同的地址)進(jìn)行判斷(obj==new)是否成立,若成立則不需要后續(xù)判斷直接輸出 false(因?yàn)槟悴皇巧瞪档脑诳盏膶?duì)象里去和空對(duì)象判斷吧)3.當(dāng)前面IF不成立時(shí)執(zhí)行(getClass!=obj.getClass),若if成立則直接輸出 false(屬性的數(shù)量和類(lèi)別都不同就不用考慮值是否相同了,走的路都不一樣你還想兩個(gè)人的人生一樣嗎?)4.若前面if不成立則將obj轉(zhuǎn)化為dog確認(rèn)(age!=other)是否成立(若前面if不成立則說(shuō)明是不同的地址,且obj對(duì)象不是空的,且兩個(gè)對(duì)象的類(lèi)型一致)若成立輸出false;若不成立恭喜你滿足以上條件就可以定論兩個(gè)對(duì)象的屬性值一樣還是指向不同的地址!
純手打,滿意給個(gè)最佳答案。0.0
2016-09-13
應(yīng)該是理解不同吧,可能那個(gè)重寫(xiě)只是將equals的方法的功能換成判斷兩個(gè)對(duì)象的值是不是相同!并沒(méi)有說(shuō)讓兩個(gè)對(duì)象指向同一個(gè)地址!
2016-09-04
2016-09-04
截圖在哪,沒(méi)看到啊
2016-09-04
你這樣的疑問(wèn)我想想不出來(lái)你的錯(cuò)誤在哪里,想看你的代碼然后再可以一起幫你探討下
2016-09-04
你確定怎么比較都是true?會(huì)不會(huì)是你代碼有問(wèn)題?