課程
/后端開發
/Java
/Java入門第二季 升級版
比較兩個對象是否相等,如果是equals(),就是比較兩個對象的屬性,屬性值,類型是否相同;如果是==,就是比較兩個對象是否分配了不同的內存空間。
2016-04-14
源自:Java入門第二季 升級版 9-9
正在回答
錯,equals才是比較兩個對象的內存空間
StaceySmile 提問者
Object類中默認的equals()方法是比較引用地址的,想要比較兩個對象的屬性是否相同,就要重寫equals()方法來做比較了。你沒刪除重寫的equals()方法,比較的是對象的屬性。應該是這樣理解的吧。
對。==比較的是地址,equals比較的是值。兩個值相同的字符串用==比較結果可能是false,而equals()則一定為true;除非兩個字符串是同一個new出來的對象,不然比較字符串是否相同用equals()。
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
3 回答總價錢、總載人、總載貨怎么得到?
2 回答可以這樣總結嗎:
1 回答*求告知怎么得到總載人數和總租金?。。?!
3 回答總會感覺不對
2 回答關于本節課的一點總結。
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-04-14
錯,equals才是比較兩個對象的內存空間
2016-08-09
Object類中默認的equals()方法是比較引用地址的,想要比較兩個對象的屬性是否相同,就要重寫equals()方法來做比較了。你沒刪除重寫的equals()方法,比較的是對象的屬性。應該是這樣理解的吧。
2016-04-14
對。==比較的是地址,equals比較的是值。兩個值相同的字符串用==比較結果可能是false,而equals()則一定為true;除非兩個字符串是同一個new出來的對象,不然比較字符串是否相同用equals()。