course2用equals比較為什么出來的是false?
如題,equals比較的不是引用的值嗎?這里新創(chuàng)建的course2的值和courseToSelect中的值一模一樣,為什么還返回了false。 前面說過 ==
?比較的是引用指向的對(duì)象地址,equals比較的是值。
如題,equals比較的不是引用的值嗎?這里新創(chuàng)建的course2的值和courseToSelect中的值一模一樣,為什么還返回了false。 前面說過 ==
?比較的是引用指向的對(duì)象地址,equals比較的是值。
2019-03-14
舉報(bào)
2019-10-15
你這是把Object和String的equals方法搞混了? ?String類的equals方法比較的是值,==比較地址? ?但是Object類的equals方法是比較對(duì)象引用是否相等? 所以若想比較值需要重寫equals方法
2019-05-02
因?yàn)槟鉵ew了兩個(gè)對(duì)象,雖然他們倆的內(nèi)部屬性,方法都是一樣,但是他們還是兩個(gè)對(duì)象,也就是說在內(nèi)存里面他開辟了兩個(gè)空間給這兩個(gè)對(duì)象。這就好比你的家和我的家里面的東西擺放都跟我的家一樣,但是門牌號(hào)不一樣,這就不能說我和你的家是同一家。。。
2019-04-16
contains中用的是Course類中繼承父類的equals方法,比較的是地址。course2是新new的對(duì)象,它開辟了新的地址,并沒有add到list中。而course是從list中g(shù)et出來的,它的地址本來就在list中。
2019-03-14
Object類中的equals方法用于檢測(cè)一個(gè)對(duì)象是否等于另一個(gè)對(duì)象。在Object類中,這個(gè)方法將判斷兩個(gè)對(duì)象是否具有相同的引用。開始,Course類中equals()方法沒有重寫,所以是繼承的Object類的方法。