Moh*_*zaq 0 java equals set object-oriented-analysis
假设我有一个类Item,它有很多字段,其中一个是color.
我还有另一个类Holder存储Item.
每个都Holder可以有任意数量的实例,Item只要每个实例不超过一个Color。
equals()以一种在两个项目的颜色相等时返回 true 的方式实现,在SetHolder 内部使用 a of items是否有意义?或者我应该equals只在所有字段都相等时才返回 true 并使用另一种逻辑来实现Holder逻辑?
不,equals()应该比较整个对象,或者应该比较自然的唯一值,例如 ID 或某些项目代码。
颜色不是一个项目的自然唯一标识符,所以不要equals()进行比较。
相反,将 aTreeSet与Comparator比较的自定义一起使用color。
或者,使用Mapkeyed by color。
| 归档时间: |
|
| 查看次数: |
53 次 |
| 最近记录: |