課程
/后端開發
/Java
/Java入門第三季
如果只重載ID或者name中的一個的時候,返回的是true,但是重載兩個的時候就會返回false了,這是為什么呢?
2016-04-12
源自:Java入門第三季 6-1
正在回答
用eclipse自動生成equals方法,默認的就是object形式,即是
public boolean equals(object obj){
return(this==obj); } ?就是你只打一個勾,選擇一個參數的時候。但是當你選擇兩個參數的時候 ,就是重寫了equals的方法,你去看看string時候的equal和object的區別,就會明白
看來是我沒有表述清楚。我的意思是用eclipse自動生成equals方法,生成的時候把ID,name兩個屬性都打上勾,然后再main函數中判斷的時候,比如說,輸入名字判斷課程是否存在,按道理應該是輸出true的,但是會輸出false。? 如果在生成equals方法的時候僅僅打一個勾,即只選擇ID或者name,那么判斷的時候便能輸出true.
重載兩個參數我覺得你在比較的時候兩個就都要比較用&&
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
2 回答為什么我重寫了equals方法結果還是返回false呢
1 回答在Course類中定義name和id用的是private
2 回答equals()不就是比較內容嗎?為什么會返回false
1 回答為什么在Course中重新定義equals方法?
4 回答Course 重寫equals
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-04-18
用eclipse自動生成equals方法,默認的就是object形式,即是
public boolean equals(object obj){
return(this==obj); } ?就是你只打一個勾,選擇一個參數的時候。但是當你選擇兩個參數的時候 ,就是重寫了equals的方法,你去看看string時候的equal和object的區別,就會明白
2016-04-12
看來是我沒有表述清楚。我的意思是用eclipse自動生成equals方法,生成的時候把ID,name兩個屬性都打上勾,然后再main函數中判斷的時候,比如說,輸入名字判斷課程是否存在,按道理應該是輸出true的,但是會輸出false。? 如果在生成equals方法的時候僅僅打一個勾,即只選擇ID或者name,那么判斷的時候便能輸出true.
2016-04-12
重載兩個參數我覺得你在比較的時候兩個就都要比較用&&