У меня есть две карты, и я хочу сохранить нулевые значения. Я знаю, что функция merge не может управлять нулевыми значениями, но мне нужно сохранить нулевые данные и использовать двоичную операцию.
Как я могу управлять своим кодом, чтобы избежать НПЭ.
Код: Выделить всё
private Map mergeMaps(
Map map1, Map map2) {
return Stream.of(map1, map2)
.map(Map::entrySet)
.flatMap(Collection::stream)
.collect(
Collectors.toMap(
Map.Entry::getKey,
Map.Entry::getValue,
(v1, v2) -> StringUtils.isNotEmpty(v1.toString()) ? v1 : v2;
));
}
Подробнее здесь: https://stackoverflow.com/questions/785 ... ull-values
Мобильная версия