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