【发布时间】:2019-02-09 21:49:42
【问题描述】:
我想知道是否可以在不调用函数的情况下更改属性的值,例如:
return findAll().stream()
.map(cps -> cps.setFavorited(true))
.distinct()
.collect(toList());
【问题讨论】:
-
很抱歉,您的示例对我来说不是很清楚。你能澄清一下你想做什么吗?
-
除非
setFavorited返回this,否则甚至无法编译... -
另一方面,setter 也是函数。这就是为什么 Eugene 指出的正确,因为在您的情况下,setter 的返回类型很重要(不再是 void)。不调用函数是什么意思?
-
一般情况下,您不应该以任何方式修改流中的任何对象。
标签: java java-8 functional-programming java-stream