gpt4 book ai didi

java - 流中的非终端 forEach()?

转载 作者:太空狗 更新时间:2023-10-29 22:40:34 24 4
gpt4 key购买 nike

有时在处理 Java stream() 时,我发现自己需要一个非终结符 forEach() 来触发副作用但不终止处理。

我怀疑我可以用 .map(item -> f(item)) 之类的方法来做到这一点,其中方法 f 执行副作用并将项目返回到流中,但这似乎有点矫揉造作。

是否有处理此问题的标准方法?

最佳答案

是的。它被称为 peek()(来自 JavaDoc 的示例):

Stream.of("one", "two", "three", "four")
.peek(e -> System.out.println("Original value: " + e))
.filter(e -> e.length() > 3)
.peek(e -> System.out.println("Filtered value: " + e))
.map(String::toUpperCase)
.peek(e -> System.out.println("Mapped value: " + e))
.collect(Collectors.toList());

关于java - 流中的非终端 forEach()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40624971/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com