2017-04-24 63 views
0

當我真的想要比較兩個對象時,我發現了一個名爲Javers的庫。對於大多數情況來說,這樣做的確很不錯,比如比較對象中的值更改,也適用於列表。但是如果有兩個包含地圖的對象,那麼如何捕獲這些變化?比如我有一個下面的類有地圖,使用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);//? 

這不會給我做圖的變化。我將如何捕獲它?

回答