Oracle 发布 Java 7 闭包的第一个版本

红薯
 红薯
发布于 2010年06月01日
收藏 0

近日,Oracle发布了一个令人振奋的消息,发布了实现闭包查看什么是闭包)的第一个版本,在测试案例中,Java compiler syntax 发生了变化。你可以在此查看测试案例

 

支持以下新特性:

 

  • Function types syntax
  • Function types subtyping
  • Full support for lambda expression of type 1 and 2
  • Inference of thrown types/return type in a lambda
  • Lambda conversion using rules specified in v0.1.5 draft
  • Support references to ‘this’ (both explicit and implicit)
  • Translation using method handles

函数类型在默认情况下不会启动,必须使用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

type 2 :

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

原文来自:这里

 

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Oracle 发布 Java 7 闭包的第一个版本
加载中

最新评论(3

DD2086
DD2086
是java么
Z
ZhaoJeason
好奇怪的实现,#???
Solaris
Solaris
oracle什么的最别扭了
返回顶部
顶部