看板java
标 题Re: [情报] Java 即将加入 Closure
发信站KKCITY (Fri Sep 1 10:11:48 2006)
转信站ptt!ctu-reader!Spring!news.nctu!news.ntu!bbs.ee.ntu!news.kkcity.com.tw
※ 引述《[email protected] (godfat 真常)》之铭言:
> ※ 引述《jtmh (Believing is seeing! ^^)》之铭言:
> : 有喔,它是先引入 function types 与 local functions,
> : 然後再把 local functions 简化为 anonymous functions (closures) 的,
> : 以下是它的范例:
> : public static void main(String[] args) {
> : int plus2(int x) { return x+2; }
> : int(int) plus2b = plus2;
> : System.out.println(plus2b(2));
> : }
> 这个不是 function pointer 的概念,没有说明如何包装物件方法
jtmh 的例子是 function types 吧?
加上後面的部份, 和我想问的 function pointer
就差不多了.
> 假设:
> void print( int() f ){
> System.out.println( f() );
> }
> 下面这要怎麽做?
> Integer i = new Integer(10);
> print( i.hashCode );
> 还是会变成这样:
> print( int(){ return i.hashCode(); } );
> 这就是多此一举了
> 不过我觉得 Java 的设计理念就是要你多打一点字
> 为了省几个字换来更复杂的东西,似乎一直是 Java 避免的
> 也许 closure 就已经是很大的让步了也说不定
看不懂你在写什麽.
提供了 function-pointer-like 的工具,
就是有它适用的地方, 而不是像你这里硬
套进去用吧.
Alien
--
┌─────◆KKCITY◆─────┐ ◢╱ 只要你
通过身份认证 ~ ◥█
│ bbs.kkcity.com.tw │ █▉─ 免经验、五人连署即开班系板 ◥
└──《From:202.72.0.45
》──┘ ◥╲ 赶快为班上设个
秘密基地吧!
◢
--