Java - 從HashSet例子看如何實作「物件實質相等性」

之前有篇(https://lucrelin.blogspot.com/2019/03/java_19.html)提到如何在Java中「比較實質相等性」。剛好看到HashSet中如何比較實質相等性的例子。

連結(https://openhome.cc/Gossip/Java/Set.html)中共有3個例子,最需看的是第3個例子:透過hashCode()和equals()去比較兩物件是否相等,如果不相等,才放入HashSet裡。而第2個例子是與第3個例子對照,第2個沒有用上述兩個方法,因而會取到重複的結果。

節錄連結中重點:「事實上不只有HashSet,Java中許多要判斷物件是否重複時,都會呼叫hashCode()equals()方法,因此規格書中建議,兩個方法必須同時實作。

留言

熱門文章