關于list contains方法
既然 contains方法的原理是遍歷每一個元素equals(傳入的值),equals比較的不就是兩個對象的內容不管內存的起始位置相不相同。為何還需要重寫 equals 方法 。比較的是 兩者的內容 為何運行后 返回的 是false值。在重寫的 方法中 ?this.name.equals.((Course) obj); ?這里的 equals 是重寫的還是沒重寫的?
既然 contains方法的原理是遍歷每一個元素equals(傳入的值),equals比較的不就是兩個對象的內容不管內存的起始位置相不相同。為何還需要重寫 equals 方法 。比較的是 兩者的內容 為何運行后 返回的 是false值。在重寫的 方法中 ?this.name.equals.((Course) obj); ?這里的 equals 是重寫的還是沒重寫的?
2016-03-24
舉報
2016-06-04
equals比較的是兩個對象是否相等,類似于(==)的作用,但是很多時候需要比較的是里面的內容而非地址,所以父類不能滿足要求,所以要進行重寫。
2016-04-07
equals()方法的本意是比較兩個對象的引用是否相同,也就是比較兩個對象的地址,不是兩個對象的內容。
2016-03-25
個人看法,有不對的地方請指出:
1.沒有重寫equals之前,比較的是兩個對象的地址,重寫之后比較的是內容。
2.重寫方法中用的是重寫之后的equals