本文介绍了如何在 Stream 链中调用 setter的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在不使用 forEach() 的情况下调用 Stream 链中的 setter?
How can I call the setter in chain of Stream without using forEach()?
List<Foo> newFoos = foos.stream()
.filter(foo -> Foo::isBlue)
.map(foo -> foo.setTitle("Some value")) //I am unable to use this because also changing the data type into Object
.collect(Collectors.toList());
推荐答案
像这样使用 peek 方法.它不影响流.
Use peek method like this. It does not affect stream.
List<Foo> newFoos = foos.stream()
.filter(Foo::isBlue)
.peek(foo -> foo.setTitle("Some value"))
.collect(Collectors.toList());
这篇关于如何在 Stream 链中调用 setter的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!