【发布时间】:2018-04-16 13:02:46
【问题描述】:
我们尝试在 3.7 版中使用 Appache commons DiffBuilder 和 ReflectionDiffBuilder 来比较两个复杂对象。
对于一个简单的对象,它工作得非常好,但我无法让它与属性一起工作,这些属性是其他复杂对象的列表,可以再次包含一个复杂的对象。
让我更好地解释一下,如果我们有这个对象的例子(为了简单起见,我们将用一个 json 对象来表示它):
{
"id": 1,
"name": "Master1",
"details": [{
"id": 1,
"name": "Master1.Detail1"
}, {
"id": 2,
"name": "Master2.Detail2",
"subDetail": [{
"id1": 1,
"name": "Master2.Detail2.SubDetail1"
}]
}]
}
在这种情况下,如果我们在 SubDetail1 中更改 name 并将旧对象与新对象进行比较,我们还需要通知 3 个复杂对象的第三级中的属性已更改。
Apaches 库可以做到这一点吗?它似乎不是开箱即用的?
【问题讨论】: