【发布时间】:2017-11-15 04:37:41
【问题描述】:
假设我有这个命令式代码:
List<Function<T, T>> functions = ...
T value = ...
for (Function<T, T> function : functions) {
value = function.apply(value);
}
如何以函数式风格编写此代码(就像 Scala 中的 fold 一样)?
【问题讨论】:
-
您可以将值和
#forEach装箱functions列表,但这并没有真正为您带来任何好处(无论如何也不是真正 功能)。总的来说,代码看起来不错,java 是一种命令式语言。 -
看起来接近this one...
-
foreach 的问题是,他们需要更新一个共享状态。我需要的是将一个函数的结果传递给链中的下一个函数。