题
这个问题已经有一个答案在这里:
- 封闭在Java7[封闭] 7的答案
我听说封锁可以在下一Java标准,预计将公布的地方周围的下一个夏天。
什么会这种语法看起来像什么?
我读的地方,介绍关闭java是一个更大的变更比一般是在java5.这是真的吗?利弊?
(通过我们现在肯定知道,关闭不会被包括在下一Java释放)
或
编辑: http://puredanger.com/tech/2009/11/18/closures-after-all/ D
edit2:重新思考JDK7: http://blogs.oracle.com/mr/entry/rethinking_jdk7
edit3:有没有一个时刻失去!: http://blogs.oracle.com/mr/entry/quartet
解决方案
似乎这是怎么看起来:
boolean even = { int x => x % 2 == 0 }.invoke(15);
这里的 { int x => x % 2 == 0 }
位的关闭。
其他提示
这真的取决于什么得到介绍,并且事实上 是否 它将被引入。还有一些封闭的建议不同大小。
看看 亚历克斯*米勒的Java7页 为提案和各个博客。
我个人想看到封锁-他们 美丽非常有帮助的 -但是我担心的一些提案都很漂亮的毛。
Unofortunately你不会找到关闭在Java7.如果你是在寻找一个较轻的解决方案有关闭在java只是现在检查出lambdaj项目:
这是java7功能 http://tech.puredanger.com/java7/#switch 例是非常有用的。
注意到一个"职能类型"是一个真正的类型以下建议:
{int => boolean} evaluateInt; //declare variable of "function" type
evaluateInt = {int x => x % 2 }; //assignment
我认为仍然有很多的辩论将在关于什么法将最终被使用。我真是很惊讶如果这不会使它变成Java7由于所有这一切。
封锁将annoyinglly详细如果不会有任何种类型推理...:(
封锁具有一些严重的边缘的情况。我会说,封锁是一个更显着的变化比泛型和后仍然有许多毛茸茸的边缘的情况。例如Java收藏图书馆不能写/编制没有警告。