Java 函数式编程 - 柯里化
柯里化是一种技术,其中许多参数的函数调用被具有较少参数的多个方法调用所取代。
参见以下等式。
(1 + 2 + 3) = 1 + (2 + 3) = 1 + 5 = 6
就函数而言:
f(1,2,3) = g(1) + h(2 + 3) = 1 + 5 = 6
这种函数级联称为柯里化,对级联函数的调用必须产生与调用主函数相同的结果。
以下示例显示了柯里化的工作原理。
import java.util.function.Function; public class FunctionTester { public static void main(String[] args) { Function<Integer, Function<Integer, Function<Integer, Integer>>> addNumbers = u -> v -> w -> u + v + w; int result = addNumbers.apply(2).apply(3).apply(4); System.out.println(result); } }
输出
9