Map<String, Object> mergedMap = ruleDtls.stream().flatMap(map -> map.entrySet().stream()) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> newValue));增加判断getvalue是否为空,为空就添加为“”
时间: 2023-12-30 15:06:14 浏览: 180
map.toString()后转换成Map类型
4星 · 用户满意度95%
可以在 `flatMap` 中增加判断 `getValue()` 是否为空,如果为空则将其设为一个空字符串 `""`。代码如下:
```
Map<String, Object> mergedMap = ruleDtls.stream()
.flatMap(map -> map.entrySet().stream()
.map(entry -> new AbstractMap.SimpleEntry<>(entry.getKey(), entry.getValue() == null ? "" : entry.getValue())))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> newValue));
```
这里使用了 `AbstractMap.SimpleEntry` 来创建一个新的键值对,如果原始 map 中某个键对应的值为 null,则将其值替换为一个空字符串 `""`。
阅读全文