如果这段代码的getCurLadderDosage为空,要怎么解决才能避免空指针异常
时间: 2024-03-26 14:38:03 浏览: 44
如果 `getCurLadderDosage()` 方法返回 null,也会导致空指针异常。可以在调用 `map()` 方法之前,添加一个过滤器,将 null 值过滤掉。可以使用如下代码进行优化:
```
if (data != null) {
settlement.setCurLadderDosage(data.stream()
.map(BizBillSettlement::getCurLadderDosage)
.filter(Objects::nonNull) // 添加一个过滤器,将 null 值过滤掉
.reduce(BigDecimal.ZERO, BigDecimal::add));
}
```
这样,当 `getCurLadderDosage()` 方法返回 null 时,代码就不会将 null 值作为 BigDecimal 进行计算,避免了空指针异常的发生。
阅读全文