这个问题在这里已经有答案了:
在java 8中Map后过滤空值[重复](1个答案)
在java8中使用lambda仅在不为null时过滤值(6个答案)
上个月关门了。
我试图将给定产品的所有价格相加为:
BigDecimal getTotalPrice(List<Product> products) {
return products.stream()
.map(Product::getPrice)
.peek(bigDecimal -> System.out.println(bigDecimal))
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
我试着打印 bigDecimal
,只要我们得到 null
我们要走了 java.lang.NullPointerException
,有没有更好的方法添加到 java 8
通过阻止任何类型的例外?
1条答案
按热度按时间qnzebej01#
我建议添加中间过滤步骤: