不确定这里的语法,对 lambda 表达式和排序不熟悉。 itemStream.parallel().filter(Objects::nonNull).forEach(
(item) -> randomMethod(item));我之前在 for 循环中所做的是检查 null,然后在遇到 null 项时发出警告 log.warn("Skipping a null item!");如何使用基于流的方法在遇到空对象(同时仍在过滤)时进行记录?
3 回答
![?](http://img1.sycdn.imooc.com/54584d080001566902200220-100-100.jpg)
潇潇雨雨
TA贡献1833条经验 获得超4个赞
随着.filter(Objects::nonNull)您过滤掉所有null元素并只保留非空元素,这意味着forEach您不会收到任何空元素,不用介意记录它。相反,你想要:
itemStream.parallel()
.forEach(item -> {
if(Objects.isNull(item)) { ... } else { ... }; // or if(item == null) ...
});
添加回答
举报
0/150
提交
取消