list.stream().filter().collect空指针异常
时间: 2023-10-21 10:27:24 浏览: 240
Java8 Stream中间操作实例解析
出现空指针异常的原因是你对一个空的列表进行了流操作,没有对空列表进行判空处理。当你调用 `list.stream()` 时,如果 `list` 是空的,就会抛出空指针异常。
为了避免空指针异常,你可以在使用流之前先判断列表是否为空,例如:
```java
if (list != null) {
list.stream()
.filter(...)
.collect(...);
}
```
或者,你可以使用 `Optional` 类来处理可能为空的列表:
```java
Optional.ofNullable(list)
.orElse(Collections.emptyList())
.stream()
.filter(...)
.collect(...);
```
这样,如果 `list` 是空的,它会被替换为一个空列表,避免了空指针异常的发生。
阅读全文