当我真的想轻松比较两个对象时,我找到了一个名为 Javers 的库。这在大多数情况下都做得很好,例如比较对象中的值变化,也适用于列表。但是,如果一个有两个包含地图的对象,那么如何捕获更改?例如,我有一个带有地图的以下课程,
public class Test {
private Map<String,Object> map = new HashMap();
//some others fields
//getters and setters
}
现在,如果我有以下值的对象:
Test test1 = new Test();
Map<String,Object> map1 = new HashMap();
map1.put("one",1);
map1.put("two",2);
test1.setMap(map1);
Test test2 = new Test();
Map<String,Object> map2 = new HashMap();
map2.put("one",2);
map2.put("two",1);
test2.setMap(map2);
Javers javers = JaversBuilder.javers().build();
javers.compare(test1,test2);//?
这并没有给我在地图中所做的更改。我将如何捕捉它?