gpt4 book ai didi

Java 8 - 比较 2 个对象并标记差异

转载 作者:行者123 更新时间:2023-12-01 10:35:12 25 4
gpt4 key购买 nike

我是 Java 8 的新手,喜欢比较功能。但现在我在我们的旧项目中有一段特殊的代码,几乎无法阅读。

程序从另一个数据库将对象的一些字段导入到表中,如果已经有该对象的条目,它将获得一个新的版本号。

下一部分是为该客户选择每个条目并查找具有 2 个版本的条目,然后我对它们进行比较并标记不同的字段,并将旧版本的旧条目放在其后面。

这一切都是通过许多循环、一个比较器和 40 个字段的compareTo 来完成的。就像我说的,几乎无法阅读。Java 8 有没有像这个线程一样的方法 -> https://stackoverflow.com/questions/369512/how-to-compare-objects-by-multiple-fields but with marking of the difference?

最佳答案

为什么不使用链接中的代码?

Comparator.comparing(p->p.firstName)
.thenComparing(p->p.lastName)
.thenComparingInt(p->p.age);

如果您有访问器方法:

Comparator.comparing(Person::getFirstName)
.thenComparing(Person::getLastName)
.thenComparingInt(Person::getAge);

关于Java 8 - 比较 2 个对象并标记差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34792657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com