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