假设我有这个命令式代码:
List<Function<T, T>> functions = ...
T value = ...
for (Function<T, T> function : functions) {
value = function.apply(value);
}
如何以函数式风格编写它(就像 Scala 中的 fold 一样)?
最佳答案
几个小时前有人问过一个Consumer
...你可以将它们简化为一个函数并应用它:
@SafeVarargs
private static <T> Function<T, T> combineF(Function<T, T>... funcs) {
return Arrays.stream(funcs).reduce(Function.identity(), Function::andThen);
}
关于java - 如何将函数列表应用于 Java 8 中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44520834/