介绍JDK 1.8的闭包 - Lambda项目

ale*_*ail 5 java closures

现有的内部类有什么问题,为什么内部类不能用于表示闭包?

目前,我将在这里发布一些资源入手.

首先,下面列出了什么是封闭的概述.它与语言无关.我建议阅读它关闭http://martinfowler.com/bliki/Closure.html

稍后加一点

[2007年1月]闭包的定义http://gafter.blogspot.com/2007/01/definition-of-closures.html

结束

[2011年12月] Lambda状态 http://cr.openjdk.java.net/~briangoetz/lambda/lambda-state-4.html

[2007年10月]编程语言高级主题:Java闭包http://www.youtube.com/watch?v=0zVizaCOhME

[2011年1月4日] JSR 292善良:使用invokedynamic进行Lambda到SAM类型的转换http://weblogs.java.net/blog/forax/archive/2011/01/04/jsr-292-goodness-lambda-sam-type γ变换-使用-invokedynamic

Pet*_*rey 0

内部类可以用来做闭包可以做的许多事情。

闭包有两个主要优点,它们更简单、更简洁,这意味着它们更容易被使用。它们可以被语言更好地理解,并且可以以内部类所不能的方式进行优化。例如,更好地处理特定异常、处理原语。

闭包可用于构建其他一流方法,例如通过柯里化。我不确定这是否有很大的优势,但它绝对不是嵌套类的简单选择。