【发布时间】:2021-05-08 20:25:15
【问题描述】:
我有一个数据类。字段可以是集合、原语、引用等。我必须检查这个类的两个实例的相等性。通常我们为此目的重写 equals 方法。但是用例是这样的,要比较的属性可能会有所不同。
也就是说,A 类具有属性:
int name:
int age:
List<String> hobbies;
在一次调用中,我可能必须根据姓名、年龄检查是否相等,而对于另一次调用,我可能必须检查姓名、爱好的相等性。
实现这一目标的最佳做法是什么?
【问题讨论】:
-
你能完成这个例子吗? 比较是什么意思?你具体需要做什么?排序?任何可能需要
Comparator的东西?回答contains,所以基于equals?也许是完全不同的东西? -
所以您只是想知道您的列表中是否有任何内容与 equality 相匹配,给定自定义规则?
-
@Zabuzard,对。
标签: java compare equals contains