加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Scala闭包和Java 8关闭之间的兼容性

发布时间:2020-12-16 09:45:32 所属栏目:安全 来源:网络整理
导读:在阅读了一些OpenJDK邮件列表条目后,似乎Oracle开发人员正在从封闭提案中进一步删除这些内容,因为Java语言中的早期设计错误会使Java闭包的引入变得复杂。 考虑到Scala闭包比Java 8计划的关闭更强大,我想知道是否可以e。 G。调用Java方法从Scala关闭,定义
在阅读了一些OpenJDK邮件列表条目后,似乎Oracle开发人员正在从封闭提案中进一步删除这些内容,因为Java语言中的早期设计错误会使Java闭包的引入变得复杂。

考虑到Scala闭包比Java 8计划的关闭更强大,我想知道是否可以e。 G。调用Java方法从Scala关闭,定义Java中的闭包并将其提供给Scala函数等等?

那么Java关闭会像他们的Scala对手一样以字节码或不同的方式表现出来吗?
是否可以缩小Java / Scala关闭之间的功能差距?

解决方法

注意:5年后, SCALA 2.12.0-M3 (Oct. 2015)确实包括了这个增强:

Scala 2.12 emits closures in the same style as Java 8.

For each lambda the compiler generates a method containing the lambda body.
At runtime,this method is passed as an argument to the LambdaMetaFactory provided by the JDK,which creates a closure object.

Compared to Scala 2.11,the new scheme has the advantage that the compiler does not generate an anonymous class for each lambda anymore. This leads to significantly smaller JAR files.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读