課程
/后端開發(fā)
/Java
/Java入門第三季
為什么這里不能course2.name==name或者course2.name.equals(name)方法呢
2017-01-20
源自:Java入門第三季 6-1
正在回答
==肯定不行吧,因為不是同一個對象。必須不能是null對象才能調(diào)用equals()方法,不能保證course2.name不是null。
慕粉2333013499 提問者
因為==比較的是兩者的內(nèi)存地址。而equals方法在String引用類型中默認比較的是值,而不是內(nèi)存地址。
默認的比較規(guī)則比較多,會比較地址之類的
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
3 回答為什么containskey()不用重寫equals方法呢
3 回答為什么調(diào)用值為空不能使用equals方法?
4 回答為什么能在重寫equals語句中用equals方法
4 回答為什么當前對象為空就不能調(diào)用它的equals方法呢
10 回答為什么不可以調(diào)用equals方法
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2017-01-22
==肯定不行吧,因為不是同一個對象。必須不能是null對象才能調(diào)用equals()方法,不能保證course2.name不是null。
2017-01-22
因為==比較的是兩者的內(nèi)存地址。而equals方法在String引用類型中默認比較的是值,而不是內(nèi)存地址。
2017-01-21
默認的比較規(guī)則比較多,會比較地址之類的