Set或Map集合(以對(duì)象作為Map的鍵)比較對(duì)象的時(shí)候逼纸,會(huì)首先按照hashCode()方法去比較兩個(gè)對(duì)象借帘,如果兩個(gè)對(duì)象hashCode()相等蜘渣,則會(huì)再用equals()方法比較內(nèi)存地址。
如果按照以上的比較方法比較對(duì)象的話肺然,則對(duì)象永遠(yuǎn)不會(huì)相等宋梧,因此需要重寫對(duì)象的hashCode()和equals()方法狰挡,重新改寫hashCode()和equals()的邏輯捂龄,不讓對(duì)象按哈希碼和內(nèi)存地址比較,而是按照內(nèi)在的屬性來進(jìn)行比較加叁。