第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

關(guān)于重寫equal方法的一個疑問

有個疑問,重寫equals方法后,總是返回一個true值,也就是說無論怎么比較他都是true值,并不是兩個對象指向同一個內(nèi)存空間了,那么比較還有什么意義呢。

正在回答

6 回答

你理解的IF有問題,IF是當判斷條件滿足時輸出返回值;

所以,老師的語句理解起來就是;

1(this==obj)判斷兩個對象是否指向同一對象,若是則不用后續(xù)判斷直接輸出 true;2.當前面條件不成立時(this和obj指向不同的地址)進行判斷(obj==new)是否成立,若成立則不需要后續(xù)判斷直接輸出 false(因為你不是傻傻的在空的對象里去和空對象判斷吧)3.當前面IF不成立時執(zhí)行(getClass!=obj.getClass),若if成立則直接輸出 false(屬性的數(shù)量和類別都不同就不用考慮值是否相同了,走的路都不一樣你還想兩個人的人生一樣嗎?)4.若前面if不成立則將obj轉(zhuǎn)化為dog確認(age!=other)是否成立(若前面if不成立則說明是不同的地址,且obj對象不是空的,且兩個對象的類型一致)若成立輸出false;若不成立恭喜你滿足以上條件就可以定論兩個對象的屬性值一樣還是指向不同的地址!

純手打,滿意給個最佳答案。0.0

1 回復 有任何疑惑可以回復我~

應(yīng)該是理解不同吧,可能那個重寫只是將equals的方法的功能換成判斷兩個對象的值是不是相同!并沒有說讓兩個對象指向同一個地址!

0 回復 有任何疑惑可以回復我~

http://img1.sycdn.imooc.com//57cc30de000135cc03270241.jpg這是我截圖老師的代碼,圖中畫紅圈的true改成false后在運行結(jié)果就是打印出兩個對象是不同的,也就是說方法重寫只是將equal方法返回值改了而不是讓兩個對象指向同一個地址

0 回復 有任何疑惑可以回復我~

截圖在哪,沒看到啊


0 回復 有任何疑惑可以回復我~
#1

陸星崖 提問者

剛發(fā)。。。
2016-09-04 回復 有任何疑惑可以回復我~

你這樣的疑問我想想不出來你的錯誤在哪里,想看你的代碼然后再可以一起幫你探討下

0 回復 有任何疑惑可以回復我~
#1

陸星崖 提問者

謝謝,我截圖發(fā)在下面了
2016-09-04 回復 有任何疑惑可以回復我~

你確定怎么比較都是true?會不會是你代碼有問題?

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531105    人
  • 解答問題       6286    個

課程升級!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會Java面向?qū)ο缶幊痰膴W妙

進入課程

關(guān)于重寫equal方法的一個疑問

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號