【发布时间】:2015-12-25 13:28:10
【问题描述】:
我之前读过几篇 Java 8 教程。
现在我遇到了以下话题: Does java support Currying?
在这里,我看到以下代码:
IntFunction<IntUnaryOperator> curriedAdd = a -> b -> a + b;
System.out.println(curriedAdd.apply(1).applyAsInt(12));
我知道这个示例包含 2 个元素,但我无法理解结构:
a -> b -> a + b;
根据表达式的左边部分,该行应实现以下功能:
R apply(int value);
在此之前,我只遇到过只有一个箭头的 lambdas。
【问题讨论】:
-
你明白柯里化是什么意思吗?这对这个问题非常重要。
-
只是一个返回 lambda 的 lambda。
标签: java lambda java-8 currying