🎯 什麼情境該想到我

當你「要一個依內容判斷相等、而非依身分的小物件」的時候(如日期、座標、金額)。

⚙️ 怎麼用(步驟 / 公式)

意圖:用「值」而非「識別」判斷相等的小物件,通常設計為不可變。

做法要點:

  • 相等性依欄位內容決定,兩個值相同即視為相等(覆寫相等與雜湊)。
  • 通常設計為不可變(immutable),要變就產生新物件,避免共享時被意外改動。
  • 對比參考物件(Reference Object):後者靠身分(identity)辨別,如客戶、帳戶。

🧪 我實際套用的紀錄

  • (待填)

⚠️ 注意 / 什麼時候不適用

  • 需要跨處共享並追蹤同一實體、以身分辨別時,用參考物件而非值物件。
  • 記得同時正確覆寫相等與雜湊,否則放進集合會出錯。
  • 不可變帶來安全,但頻繁產生新物件在極端情況下要注意成本。

🔗 相關工具