虽然关于Java 7闭包一直波澜不断,开发者们也对Java是否真的需要引入闭包存在争议,但Oracle还是在两天前放出了Java 7闭包的第一个版本。我们可以在测试项目中看到Java编译器语法规则的演变。点此查看测试项目。
成都创新互联是一家专注于成都做网站、成都网站建设、成都外贸网站建设与策划设计,临西网站建设哪家好?成都创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:临西等地区。临西做网站价格咨询:18982081108
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是否应该引入闭包特性一直存在争议,详细请参考《百家争鸣 Java需要引入闭包吗?》。去年曾报道《Java 7决定包含闭包 发布日期推迟至2010年底》的消息,在Devoxx 2009上已基本确定在Java 7中对闭包的引入。
关于Java 7闭包的详细介绍请参考《Java 7的第一类函数:学习闭包的使用》。
原文:Java 7 : Oracle pushes a first version of closures
链接:http://www.baptiste-wicht.com/2010/05/oracle-pushes-a-first-version-of-closures/
网站题目:Oracle推出首个Java7闭包版本
分享链接:http://www.shufengxianlan.com/qtweb/news16/123716.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联