all.stream()
.collect(Collectors.toMap(FiltoBaseColumnPropertiesPO::getCode, FiltoBaseColumnPropertiesPO::getValue));
}
debug定位到FiltoBaseColumnPropertiesPO中有的value值为null,导致转map的时候value值为空,抛出NPE异常
Collectors.toMap底层是基于Map.merge方法来实现的,而merge中value是不能为null的,如果为null,就会抛出空指针异常
Collectors.toMap fails on null values
解决办法
可用stream.filter()提前过滤。
all.stream()
.filter(e->e.getValue()!=null)
.collect(Collectors.toMap(FiltoBaseColumnPropertiesPO::getCode, FiltoBaseColumnPropertiesPO::getValue));
}