首页 > 解决方案 > 如果值为 false 则使用流返回 null 否则返回 true

问题描述

我有以下代码

 headers.stream().map(MyHeader::getIsCancelled).iterator(),

getIsCancelled 返回布尔值 true/false。

我想修改上面的代码,如果值为false则返回null,否则返回true。我应该使用过滤器过滤真值并自动获得真值或空值吗?

标签: javajava-8java-stream

解决方案


通过使用filter,您可以消除这些false值,而不是用 替换它们null

如果你想用 替换falsenull,你仍然应该使用map

headers.stream().map(h -> h.getIsCancelled() ? true : null).iterator()

我相信这应该有效,但如果没有,您可以替换trueBoolean.TRUE.


推荐阅读