[英]Overriding equals method in DTO's
是否有必要在DTO中覆蓋equals和hashcode方法? 因為DTO只用於傳輸數據。 有沒有最佳做法或相關的事情?
謝謝。
本文提供了一條建議:
放置在List,Set或Map中的對象(作為鍵或值)應具有相應的equals定義。
當然DTO不僅僅用於傳輸,我們會保留它們,對它們進行排序,緩存它們......
在實踐中,人們提供equals和hash嗎? 不是不總是。 我們應該嗎? 我認同。
是否需要為DTO類提供equals
和hashcode
實現取決於您如何使用它們。
如果將它們與一個或多個集合一起使用,則應提供適當方法的實現。 幾乎所有集合都會在它們存儲的對象上調用equals
。 基於哈希表的集合(如HashSet
和HashMap
調用hashcode
,而排序的集合(如TreeSet
和TreeMap
除了equals
之外還調用compareTo
方法。
如果它變得太微不足道,我可以推薦使用lombok注釋http://projectlombok.org/features/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.