簡體   English   中英

在DTO中覆蓋equals方法

[英]Overriding equals method in DTO's

是否有必要在DTO中覆蓋equals和hashcode方法? 因為DTO只用於傳輸數據。 有沒有最佳做法或相關的事情?

謝謝。

本文提供了一條建議:

放置在List,Set或Map中的對象(作為鍵或值)應具有相應的equals定義。

當然DTO不僅僅用於傳輸,我們會保留它們,對它們進行排序,緩存它們......

在實踐中,人們提供equals和hash嗎? 不是不總是。 我們應該嗎? 我認同。

是否需要為DTO類提供equalshashcode實現取決於您如何使用它們。

如果將它們與一個或多個集合一起使用,則應提供適當方法的實現。 幾乎所有集合都會在它們存儲的對象上調用equals 基於哈希表的集合(如HashSetHashMap調用hashcode ,而排序的集合(如TreeSetTreeMap除了equals之外還調用compareTo方法。

如果它變得太微不足道,我可以推薦使用lombok注釋http://projectlombok.org/features/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM