我是靠谱客的博主 细腻黄蜂,最近开发中收集的这篇文章主要介绍java 判断两个对象相等_Java如何比较两个对象并获取其中不相等的字段?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

声明:本文属原创文章,始发于 https://blog.csdn.net/dadiyan...。特此,同步发布到 sf,转载请注明出处。

写在前面

在工作中,我们经常会遇到这样的需求——比较两个对象是否相等,如果不相等的话,取出不相等的字段。

以下这些场景都需要我们对一个对象进行比较:

数据比对

做单元测试断言对象是否相等

前端要求对不相等的字段进行高亮显示

这种需求其实是非常简单的,但是如何优雅地解决这一类需求呢?

通常的做法是重写对象的 equals 方法。但是重写 equals 方法有很多缺点,例如:

每次对象属性有变更,一定要记得再重写(放心,你一定会忘记的)

每个对象只能有一个 equals 方法,但是可能你会需要不同的比对规则

只能对比两个对象是否相等,无法具体知道哪个属性不等

自动生成的 equals 方法无法基于 getter 方法进行比对

对象来自第三方依赖,无法重写 equals 方法

因此,实现一个通用的比对器可以减少很多不必要的麻烦,帮助我们很好地完成这一类的需求。

缘起

我是在做数据同步的时候有这个需求,我要将数据库的数据通过一定的规则导入到 ES 中,导入完成之后,如何比对两边的数据是否一致呢?这时候一个好用的比对器就是我非常好的帮手。

另外,我在做单元测试的时候发现,经常会需要将被测方法的返回值和期望的结果做 assertEquals 断言这时这个比对器也非常有帮助。我发现很多同事经常会遇到类似的需求。

最后

以上就是细腻黄蜂为你收集整理的java 判断两个对象相等_Java如何比较两个对象并获取其中不相等的字段?的全部内容,希望文章能够帮你解决java 判断两个对象相等_Java如何比较两个对象并获取其中不相等的字段?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部