if (!finalLst1.get(i).equals(finalLst2.get(i))){
if (!finalLst2.contains(finalLst1.get(i))){
map1.put(i,finalLst1.get(i));
map2.put(i,finalLst2.get(i));
}
}
}
if (finalLst1.size()>finalLst2.size()){
for (int i = minSize; i
map1.put(i,finalLst1.get(i));
}
}else if (finalLst2.size()>finalLst1.size()){
for (int i = minSize; i
map2.put(i,finalLst2.get(i));
}
}
for (Integer i : map1.keySet()) {
if (map2.containsKey(i)){
try {
Map info1 = Utils.jsonToObject(map1.get(i),Map.class);
Map info2 = Utils.jsonToObject(map2.get(i),Map.class);
for (String s : info1.keySet()) {
if (!info1.get(s).equals(info2.get(s))){
changeField.add(new Change(field.getName()+"."+s, Utils.objectToJson(info1.get(s)),Utils.objectToJson(info2.get(s))));
}
}
} catch (JsonSyntaxException e) { }
}else{
changeField.add(new Change(field.getName(), map1.get(i),"null"));
}
}
for (Integer i : map2.keySet()) {
if (!map1.containsKey(i)){
changeField.add(new Change(field.getName(),"null",map2.get(i)));
}
}
==================chang类的声明 ======================
private static class Change {
String field;
String before;
String after;
public Change(String field, String before, String after) {
this.field = field;
this.before = before;
this.after = after;
}
@Override
public String toString() {
return "Change{" +
"field='" + field + '\'' +
", before='" + before + '\'' +
", after='" + after + '\'' +
'}';
}
}
打完收工
写博客也不费时间嘛,十来分钟搞定第一篇!加油啊⛽️!