jwethand

Nothing is particularly hard if you divide it into small jobs.
posts - 21, comments - 18, trackbacks - 0, articles - 20

Java 7 中将增加“闭包”函数

Posted on 2006-12-27 10:50 jwethand 阅读(145) 评论(0)  编辑  收藏
类似Groovy、Python、Ruby这样的语言中都存在闭包的概念,Java、C++、C#这样的语言都不支持闭包,什么是闭包呢?记得以前看到的一篇文章中这样说过“对象是附带过程的数据,闭包是附带数据的过程”。听起来有点抽象,简单一点讲闭包就是“一段封闭的代码”(block),下面是Java7规范草案中有关闭包的一段代码:
int(int) plus2b = (int x) {return x+2; };
闭包可以包含参数和返回结果,这比起Java中的匿名内部类要要简单灵活的多。个人认为Java中增加闭包函数除了增加灵活性;而且更易于对代码进行抽象;同时可以减少临时对象对内存的开销,虽然Java有自动垃圾回收机制,但是有时候在一些应用程序中临时对象的存在可能就是性能的瓶颈。目前Java7中的闭包部分的规范还在起草阶段,期望未来的Java中可以增加更多的动态语言的支持。

只有注册用户登录后才能发表评论。


网站导航: