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