我最近与一位同事就如何比较同一个 java 类的 2 个实例进行了辩论。
您有一个复杂对象的两个实例,并且想知道这两个对象之间的哪些属性不同。
这是一个用例:您有一个包含很多字段的用户配置文件,并且用户提交了一个新配置文件,您想知道哪些字段已更改以便能够显示诸如“成功更改您的生日、姓名、街道名称.. 。”
所以目前,我最好的解决方案是在类中编写一个比较方法,该方法接受另一个对象并逐个比较每个字段,然后返回不同的字段列表。
我想知道是否有任何自动方法(例如来自外部库)可以做到这一点,而不必手动指定每个属性。
顺便说一句,如果 hibernate 有一种方法可以这样做来比较本地和数据库对象,它就可以做到这一点。