【发布时间】:2022-08-14 15:16:22
【问题描述】:
我有一个列表,我想在这个列表上执行一个操作,例如,打印项目。但我只想在特定条件适用的情况下这样做。
要应用条件,我们有 .filter 选项,但似乎这仅适用于流本身元素的条件。 (例如,如果项目的价值 42)
假设我的条件是仅在生成的不相关随机数等于42 时才继续。我怎么做?
items
.stream()
.filter(
// if randomVar == 42, go ahead)
.forEach(item -> System.out.println(item));
-
filter(x -> randomVar == 42)工作得很好。 -
为什么不将流操作包装在一个简单的
if条件中?if (randomValue == 42) { items.stream().forEach(item -> System.out.println(item));}
标签: java java-stream