加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

override equals方法来比较java中的多个字段

发布时间:2020-12-15 02:07:33 所属栏目:Java 来源:网络整理
导读:在 java中重写equals方法以比较多个字段的最佳方法是什么?例如,我在类中有4个对象,o1,o2,o3,o4,我希望将所有这些对象与传递的对象进行比较,使用equals方法. if (o1 != null o2 != null o3 != null o4 != null obj.o1 != null obj.o2 != null obj.o3 != null
在 java中重写equals方法以比较多个字段的最佳方法是什么?例如,我在类中有4个对象,o1,o2,o3,o4,我希望将所有这些对象与传递的对象进行比较,使用equals方法.

if (o1 != null && o2 != null && o3 != null && o4 != null && obj.o1 != null
    && obj.o2 != null && obj.o3 != null && obj.o4 != null
    && o1.equals(obj.o1) && o2.equals(obj.o2) && o3.equals(obj.o3) && o4.equals(obj.o4)) {
    do something
}

这段代码的问题在于它不清楚,如果我们有更多字段,就不能轻易修改.有没有更好的方法来实现这一目标?

解决方法

一种便宜的方式是:

Arrays.asList(o1,o4).equals(Arrays.asList(obj.o1,obj.o2,obj.o3,obj.o4));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读