在java中将Maps.difference(firstMap, secondaryMap)转换为Map

问题描述 投票:0回答:1

我有一个 Java 代码来查找两个 JSON 字符串之间的差异。如下图:

String afterString = converterUtil.convertObjectToJson(targetObject);
        Gson g = new Gson();
        Type mapType = new TypeToken<Map<String, Object>>() {
        }.getType();
        Map<String, Object> firstMap = g.fromJson(beforeString, mapType);
        Map<String, Object> secondMap = g.fromJson(afterString, mapType);
        System.out.println(Maps.difference(firstMap, secondMap));

如何将差异结果保存为

Maps.difference
返回的地图?

java guava
1个回答
3
投票

Guava 的

Maps
文档
Maps#difference
返回一个
MapDifference
。要将其转换为
Map
,您可以使用
MapDifference#entriesDiffering
。还有其他可能对您有用的方法,例如
MapDifference#entriesInCommon
MapDifference#entriesOnlyOnLeft
MapDifference#entriesOnlyOnRight

© www.soinside.com 2019 - 2024. All rights reserved.