Oracle推出首个Java 7闭包版本

原创
开发 后端
Oracle两天前发布了Java 7的首个闭包版本,在这个版本中,我们可以看到Java的一些语法丰富和函数类型特性增强。

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

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

◆函数类型语法

◆函数类型的子类型

◆全面支持Lambda表达式

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

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

type1,lambda表达式:

  1. int i1 = #()(3).(); //i1 = 3  
  2. Integer i2 = #()(3).(); //i2 = 3  
  3. int i3 = #(int x)( x + 1 ).(3); //i3 = 4  
  4. int i4 = #(Number x)(x.intValue()).(new Float(3.0f)); //i4 = 3 

type2

  1. int i1 = #(){ return 3; }.(); //i1 = 3  
  2. Integer i2 = #(){ return 3; }.(); //i2 = 3  
  3. int i3 = #(int x){ return x + 1; }.(3); //i3 = 4  
  4. int i4 = #(Number x){ return x.intValue(); }.(new Float(3.0f)); //i4 = 3 

关于Java闭包

支持闭包的多数语言都将函数作为第一级对象,就是说这些函数可以存储到变量中、作为参数传递给其他函数,最重要的是能够被函数动态地创建和返回。对于Java是否应该引入闭包特性一直存在争议,详细请参考《百家争鸣 Java需要引入闭包吗?》。去年51CTO曾报道《Java 7决定包含闭包 发布日期推迟至2010年底》的消息,在Devoxx 2009上已基本确定在Java 7中对闭包的引入。

关于Java 7闭包的详细介绍请参考《Java 7的第一类函数:学习闭包的使用》。

【编辑推荐】

  1. 正方反方 Java前景众说纷纭
  2. Java规范第二次面临分裂危机
  3. Google、VMware让Java扛起云计算大旗
  4. Java云计算缓存 程序全部运行在内存中

原文:Java 7 : Oracle pushes a first version of closures

链接:http://www.baptiste-wicht.com/2010/05/oracle-pushes-a-first-version-of-closures/

责任编辑:佚名 来源: 51CTO.com
相关推荐

2012-10-09 16:21:19

戴尔

2021-12-24 16:08:57

Vivaldi浏览器跨平台

2015-01-28 10:55:09

平安免费WiFi

2009-12-16 15:28:20

WiMAX服务

2012-01-11 16:52:05

Strix矿井

2021-07-05 12:23:01

OperaChromebooks浏览器

2015-05-12 19:20:33

2023-07-03 11:02:31

2011-08-04 13:50:03

Java 7

2023-12-01 09:36:59

华为云大模型混合云华为云行业高峰论坛

2022-05-09 15:16:05

快手StreamLake云服务

2010-11-17 16:36:39

边界路由器核心网Juniper Net

2021-06-29 11:57:11

Windows 11微软预览版本

2013-03-27 09:55:17

微软Windows AzuHadoop

2013-11-08 13:35:20

2010-06-13 10:10:25

100G单载波光纤阿朗

2010-05-13 15:41:19

Java 7JDK 7闭包

2024-06-18 12:26:50

2010-06-28 06:00:55

思杰Citirx XenA黄金版
点赞
收藏

51CTO技术栈公众号