我正在寻找一个java util,它可以在两个java对象之间创建一个diff,它可以嵌套并包含数组等。 util还应该能够在原始对象上应用diff(a.k.a补丁),并从中删除差异。
我在JS中找到了一个:https://github.com/benjamine/jsondiffpatch。 但是,如果Java中已经存在一个,那就太好了。
请注意,该工具应该实现LCS,并且数组比较应该基于哈希函数(可自定义)而不是逐字(逐行)比较,这意味着它应该处理数组 - 移动等。
Diff可以采用XML / JSON转换的java对象
答案 0 :(得分:0)
所以你想要比较/"补丁"同一类的实例对吗? 看看这里: http://commons.apache.org/proper/commons-beanutils/ 您可以使用BeanComparator和BeanUtils类。
答案 1 :(得分:0)
http://javers.org可以计算两个复杂的Java对象图之间的差异,但不能将其应用回还原更改。您仍然可以从存储库
中检索审计对象的prevoius版本(作为快照)