Closures for Java
来源:互联网 发布:淘宝怎么看行业大盘 编辑:程序博客网 时间:2024/05/01 06:37
一群“聪明人”写了一份草案,要求给Java增加closure功能。所谓closure,就是类似php里面经常用到的变量函数
public static void main(String[] args) {
int plus2(int x) { return x+2; }
int(int) plus2b = plus2;
System.out.println(plus2b(2));
}
那么它如何简化现有的代码呢?看下面三个例子
1 传统的代码
public interface Runnable {
void run();
}
public interface API {
void doRun(Runnable runnable);
}
public class Client {
void doit(API api) {
api.doRun(new Runnable(){
public void run() {
snippetOfCode();
}
});
}
}
2 简化的代码
public interface API {
void doRun(void() func);
}
And the client like this:
public class Client {
void doit(API api) {
api.doRun(() {snippetOfCode(); }); // 将函数直接写在这里,省略了一个对象
}
}
3 进一步简化的代码
Runnable runnable(final void() func) {
return new Runnable() {
public void run() { func(); }
};
}
Allowing the client to write this:
public class Client {
void doit(API api) {
api.doRun(runnable(() {snippetOfCode(); })); //直接把runnable作为一个函数盒子
}
}
可以说这个功能的提出,是为了将类的方法的定义变得更加的灵活,然而这种用到时才定义的设计理念和j2ee传统的组件型的开发思想相违背。Closure何去何从,我们拭目以待。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1104952
- Closures for Java
- Closures for Java
- Closures for Java
- Closures for Java
- Closures for Java
- Closures for Java
- Closures for Java
- Closures for Java
- Closures for Java
- Closures for Java
- Java Closures
- Java Closures
- Closures for Java铪
- Closures for Java铪
- Closures for Java铪
- Closures for Java铪
- Closures for Java铪
- Closures for Java铪
- 用YUI Ajax 库改造的 phpBB
- Visual WebGui 基于ajax的界面框架
- Buildix 构建敏捷开发平台
- 微软过桥问题的图论解法
- 程序员如何缓解压力,保持心理健康
- Closures for Java
- 坐南京13路公交车,体验《头文字D》感觉!
- 长整数的基本操作
- 并行版本控制的好帮手--WinMerge
- 并行版本控制的好帮手--WinMerge
- 写给即将步入大学,主修计算机专业的青年们的一封信
- 从一个中学的高考录取名单看中国高校的排名
- 日广告巨头看上博客 电通ADK合资专投博客
- 插花问题的“动态规划法”算法