一、實現高質量equals方法的訣竅:
1愉粤、使用==比較對象的引用砾医;
2、使用instanceof檢查參數的類型衣厘;
3如蚜、把參數轉換成正確的類型压恒;
4、檢查關鍵域是否與對象中對應的于匹配错邦;
5探赫、編寫UT測試equals方法。
二撬呢、事實上伦吠,我們無法再擴展可實例化的類的同時,既增加新的值組件倾芝,同時保留equals約定讨勤,除非愿意放棄面向對象所帶來的優(yōu)勢。不過晨另,可以在一個抽象類的子類中增加新的值組件,而不違反equals約定谱姓,因為抽象類無法實例化借尿。
三、覆蓋equals方法總是要覆蓋hashCode
四屉来、相等的對象必須具有相等的散列碼路翻,但是不同的對象可以有相同的散列碼;不要試圖從散列碼計算中排除掉一個對象的關鍵部分來提高性能茄靠。
關于重寫equals和hashCode
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
- 文/潘曉璐 我一進店門璧亚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人脂信,你說我怎么就攤上這事癣蟋。” “怎么了狰闪?”我有些...
- 正文 為了忘掉前任,我火速辦了婚禮琐馆,結果婚禮上规阀,老公的妹妹穿的比我還像新娘。我一直安慰自己瘦麸,他們只是感情好谁撼,可當我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著滋饲,像睡著了一般厉碟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上屠缭,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼跨新!你這毒婦竟也來了富腊?” 一聲冷哼從身側響起,我...
- 正文 年R本政府宣布筒愚,位于F島的核電站,受9級特大地震影響菩浙,放射性物質發(fā)生泄漏巢掺。R本人自食惡果不足惜句伶,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望陆淀。 院中可真熱鬧考余,春花似錦、人聲如沸轧苫。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽含懊。三九已至身冬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間岔乔,已是汗流浹背酥筝。 一陣腳步聲響...
推薦閱讀更多精彩內容
- 轉自:http://blog.csdn.net/jackfrued/article/details/4492194...
- Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理年扩,服務發(fā)現,斷路器访圃,智...