closures - 在 JDK 1.8 中引入闭包 - Project Lambda

标签 closures java

<分区>

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

目前我将在这里发布一些资源开始

首先,下面列出了什么是闭包的概述。它与语言无关。我建议阅读它 关闭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-conversion-using-invokedynamic

最佳答案

据我了解,Java 8 中的闭包计划只是让它比当前使用内部类的变通方法更少痛苦——因为严重的是,内部类语法是编写简单的 lambda 会产生巨大的语法开销。

关于closures - 在 JDK 1.8 中引入闭包 - Project Lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9268806/

相关文章:

swift - 是一个属性的 setter/getter ,可以避免捕获内部 block

javascript - 词法闭包是函数执行上下文的属性吗?

JavaScript 难度 - 传递给内部函数的参数和括号的使用

java - 将 sqLite DB 中的数据显示到不同的 TextView 中

java - 使用实体属性更新文档而不是替换它(保留未映射的属性)

java - 如何在呼出的 Android VOIP 调用中实现振铃

javascript - 在 javascript 的父闭包中引用 "this"

swift - 如何创建一个通用的完成闭包?

java - 无法从 POI 的 STRING 单元格获取 NUMERIC 值

applet - 使用指定的旧 JRE 版本而不是最新安装的 JRE 加载小程序