使用collect(Collectors.toMap(...))空指针异常
时间: 2023-08-23 10:44:09 浏览: 174
空指针异常
`Collectors.toMap(...)` 方法在转换时可能会抛出空指针异常,这通常是由于键或值为 `null` 导致的。要解决这个问题,你可以在转换之前进行空值检查,或者在转换时提供一个默认值。例如,你可以使用下面的代码来检查键和值是否为空:
```
Map<String, String> map = list.stream()
.filter(Objects::nonNull)
.collect(Collectors.toMap(
e -> (e.getKey() != null) ? e.getKey() : "",
e -> (e.getValue() != null) ? e.getValue() : ""
));
```
在上面的代码中,我们使用 `filter()` 方法过滤掉空值,然后在 `toMap()` 方法中检查键和值是否为空,并将空值替换为默认值。当然,你也可以根据需要使用其他默认值。
阅读全文