課程
/后端開發(fā)
/Java
/Java入門第三季
為什么但this.name==null時,如果cource.name==null就返回true?
2015-02-28
源自:Java入門第三季 6-1
正在回答
我認為是因為null無法使用equals判斷,并且是比對雙方都為null的特殊情況,所以如果obj和this當前對象的name為null,那么直接判定contains的結(jié)果為turn。因為比對結(jié)果中如果兩個集合都把name賦值為null,是需要turn作為結(jié)果的。
Java的API文檔指出:set 中是可以包含 null值的(常見的集合類都可以包含null值). 所以如果添加了null,然后判斷包含null,將會返回true。
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
2 回答為什么先判斷 this.name==null ? 不能先判斷 obj.name==null 嗎?
2 回答為什么結(jié)果是null?
4 回答"this.name == null"這個代碼的意義是什么?
3 回答containsValue(new Student(null,name)中為什么Student的ID對應值是空(null)呢
3 回答st == null是什么意思
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2018-08-28
我認為是因為null無法使用equals判斷,并且是比對雙方都為null的特殊情況,所以如果obj和this當前對象的name為null,那么直接判定contains的結(jié)果為turn。因為比對結(jié)果中如果兩個集合都把name賦值為null,是需要turn作為結(jié)果的。
2015-03-01
Java的API文檔指出:set 中是可以包含 null值的(常見的集合類都可以包含null值). 所以如果添加了null,然后判斷包含null,將會返回true。