課程
/后端開發(fā)
/Java
/Java入門第三季
為什么具有相同的ID和name的兩個對象,course被包含在coursesToSelect里面,而course2卻沒包括在內(nèi)呢?
2016-10-09
源自:Java入門第三季 6-1
正在回答
contains方法是基于equals方法實現(xiàn)的,equals方法的初始行為是比較對象的內(nèi)存地 址,只有當(dāng)對象的內(nèi)存地址相同時,才能返回true值。(在一些類庫當(dāng)中這個方法被覆蓋掉了,如String,Integer,Date在這些類當(dāng)中equals有其自身的實現(xiàn),而不再是比較類在堆內(nèi)存中的存放地址了)
當(dāng)使用equals()的時候,對象指向地址必須相同才能返回true。course2雖然name和id與course一致,但是它是新創(chuàng)建的一個對象,所以存儲地址不同不存在coursesToSelect中。而course本身就添加在coursesToSelect中的,所以當(dāng)然是與coursesToSelect中的那個指向同一個對象的存儲地址,所以返回true。
set接口的容器類中的元素是沒有順序的,但不能有重復(fù)
coursesToSelect如果是set集合的話 ?set是不能包含重復(fù)元素的
qq_柒分醉_03927370 提問者
太期待丶 回復(fù) qq_柒分醉_03927370 提問者
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
2 回答求大神解答!
2 回答求解答??!大神
5 回答求大神解答?。?!
3 回答求大神解答
2 回答求大神解答
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2017-01-17
contains方法是基于equals方法實現(xiàn)的,equals方法的初始行為是比較對象的內(nèi)存地 址,只有當(dāng)對象的內(nèi)存地址相同時,才能返回true值。(在一些類庫當(dāng)中這個方法被覆蓋掉了,如String,Integer,Date在這些類當(dāng)中equals有其自身的實現(xiàn),而不再是比較類在堆內(nèi)存中的存放地址了)
2016-10-20
當(dāng)使用equals()的時候,對象指向地址必須相同才能返回true。course2雖然name和id與course一致,但是它是新創(chuàng)建的一個對象,所以存儲地址不同不存在coursesToSelect中。而course本身就添加在coursesToSelect中的,所以當(dāng)然是與coursesToSelect中的那個指向同一個對象的存儲地址,所以返回true。
2016-10-10
set接口的容器類中的元素是沒有順序的,但不能有重復(fù)
2016-10-10
coursesToSelect如果是set集合的話 ?set是不能包含重復(fù)元素的