Oracle发布首个Java 7闭包版本

日期: 2010-05-31 翻译:red7编译 来源:TechTarget中国 英文

  虽然关于Java 7闭包一直波澜不断,开发者们也对Java是否真的需要引入闭包存在争议,但Oracle还是在两天前放出了Java 7闭包的第一个版本。我们可以在测试项目中看到Java编译器语法规则的演变。

  Oracle发布的最新版本有以下功能更新:

  ◆函数类型语法

  ◆函数类型的子类型

  ◆全面支持Lambda表达式

  ◆在lambda中对thrown/return类型的引用

  在Oracle的更新说明中显示,这里所提到的函数类型在默认情况下不会启动,必须使用XDallowFunctionTypes来启用。以下为示例:

  type1,lambda表达式:

以下是引用片段:
int i1 = #()(3).();
 //i1 = 3  Integer i2 = #()(3).();
 //i2 = 3  int i3 = #(int x)( x + 1 ).(3);
 //i3 = 4  int i4 = #(Number x)(x.intValue()).(new Float(3.0f));
 //i4 = 3 type2
int i1 = #(){ return 3; }.();
 //i1 = 3  Integer i2 = #(){ return 3; }.();
 //i2 = 3  int i3 = #(int x){ return x + 1; }.(3);
 //i3 = 4  int i4 = #(Number x){ return x.intValue();
 }.(new Float(3.0f));
 //i4 = 3 

  关于Java闭包

  支持闭包的多数语言都将函数作为第一级对象,就是说这些函数可以存储到变量中、作为参数传递给其他函数,最重要的是能够被函数动态地创建和返回。对于Java是否应该引入闭包特性一直存在争议,在Devoxx 2009上已基本确定在Java 7中对闭包的引入。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • JavaFX发力:Oracle能否力揽狂局

    早在Oracle收购Sun的计划后,就宣布它会支持JavaFX多媒体软件开发平台,如今JavaFX在Oracle的带领下,在面对表现平平的质疑声时,能否力揽狂局呢?

  • Google、IBM、Oracle意图分羹云计算大数据市场

    少数公共云计算服务供应商(如Google、IBM、微软以及Oracle)正从Amazon网络服务(AWS)中得到启示,并已涉足“大数据”分析领域和多方面的开源项目Hadoop/MapReduce。

  • 云计算时代:大数据泡沫正无限膨胀

    在当今企业中80%的数据都是非结构化数据,这些数据每年都按指数增长60%。大数据将挑战企业的存储架构、数据中心的基础设施等,也会引发数据仓库、数据挖掘、商业智能、云计算等应用的连锁反应。

  • Oracle将发布批量补丁 影响数百款产品

    据国外媒体报道,Oracle将发布76个补丁,受影响其数百款产品。本次发布的补丁中,其中56个是针对Oracle的数据库产品,Oracle建议用户尽快安装这些补丁,否则将存被攻击的危险。