阅读更多

39顶
3踩

编程语言

原创新闻 Sun在Devoxx2009上宣布Java7中将加入闭包

2009-11-19 09:53 by 见习编辑 Eastsun 评论(30) 有11985人浏览
Sun在Devoxx2009上宣布Java7中将加入FCM(First Class Methods: Java-style closures),并且将Java7的发布推迟到2010年年底。
相关链接:http://www.reddit.com/r/programming/comments/a5pl9/sun_announces_firstclass_methods_for_java_7_at/
39
3
评论 共 30 条 请登录后发表评论
30 楼 nowind 2009-11-21 23:36
期望了这么久,终于有了!
29 楼 chandler 2009-11-21 21:12
   个人觉得闭包这种东西,对于java来说属于鸡肋的东西,甚至可以说是有害的一种东西(不是说闭包有害,而是如果在一个项目中,如果用的人水平不够,肯定会使得代码很难读)。应该做为扩展提供吧
28 楼 woaiwofengkuang 2009-11-21 20:36
这样的的写法与匿名类有什么区别。
27 楼 vii779 2009-11-21 11:34
还是比较喜欢scala的闭包语法。
26 楼 lemonweirui 2009-11-21 09:33
java 7又跳票了。

不过是值了。
25 楼 BigBlue 2009-11-21 08:14
带参数的形式
 List<String> list = ...
  Collections.sort(list, #(String str1, String str2) {
    return str1.length() - str2.length();
  });
24 楼 treblesoftware 2009-11-20 22:27
观望~~~~~~~~~~JAVA要奋起了?
23 楼 静心Java 2009-11-20 20:02
我也弱弱的问下,啥叫“闭包”!
22 楼 wangzaixiang 2009-11-20 18:13
闭包是我最为期待的一个特性。闭包是一个既不会增加语言复杂度,但又非常有实用价值的语言特性。
21 楼 flysheet 2009-11-20 12:35
太帮了,期待中
20 楼 q56454589 2009-11-20 09:47
freej 写道
在这个解决方案中发现个问题,原文是这么写的:

VI. Further examples

The following sections present some application scenarios for the proposed language enhancements.


Executor 


The executor part of the concurrency framework allows a task to be submitted to run in another thread. This is typically written as an inner class at present:

  Executor exec = ...;
  exec.execute(new Runnable() {
    public void run() {
      // code to run in another thread
    }
  });

With the changes in this proposal, the code could be written as an anonymous inner method as follows:

  Executor exec = ...;
  exec.execute(#{
    // code to run in another thread
  });


问题是:如果Runnable接口有两个参数列表和返回值均相同的的抽象方法怎么办,这种情况下,
#{
    // code to run in another thread
  });

这个东西会实现的是哪个方法呢??

看来这玩意儿有缺陷,还是需要完善,否则这点儿语法糖会起副作用的。


你可以去看看GROOVY

19 楼 elementstorm 2009-11-20 08:27
如果像14楼那样的语法形式,那这个闭包不如不要...
18 楼 wawxy2009 2009-11-19 22:55
菜鸟弱弱的问一下:啥叫闭包?
17 楼 woaiwofengkuang 2009-11-19 22:32
闭包在Java里真的有用吗。
16 楼 liu78778 2009-11-19 21:15
我擦? Really?
15 楼 zozoh 2009-11-19 19:44
啥都别说,眼泪哗哗~~~ 盼了好久鸟~~~
14 楼 linmxy 2009-11-19 19:34
#{ 
    // code to run in another thread 
  }); 

我喜欢这个...
13 楼 freej 2009-11-19 17:50
在这个解决方案中发现个问题,原文是这么写的:

VI. Further examples

The following sections present some application scenarios for the proposed language enhancements.


Executor 


The executor part of the concurrency framework allows a task to be submitted to run in another thread. This is typically written as an inner class at present:

  Executor exec = ...;
  exec.execute(new Runnable() {
    public void run() {
      // code to run in another thread
    }
  });

With the changes in this proposal, the code could be written as an anonymous inner method as follows:

  Executor exec = ...;
  exec.execute(#{
    // code to run in another thread
  });


问题是:如果Runnable接口有两个参数列表和返回值均相同的的抽象方法怎么办,这种情况下,
#{
    // code to run in another thread
  });

这个东西会实现的是哪个方法呢??

看来这玩意儿有缺陷,还是需要完善,否则这点儿语法糖会起副作用的。
12 楼 freej 2009-11-19 17:33
看了看提供的连接,还不错,至少提供些语法糖
11 楼 phoenixup 2009-11-19 17:23
sohuexe 写道
java会不会就此一蹶不振,先把不含闭包发布了在说嘛!

如果因为个闭包JAVA就一蹶不振。。。大家都省事了。。。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 服务器配置系统ip文档,《网络操作系统》服务器配置ip地址分配表.xls

    《网络操作系统》服务器配置ip地址分配表.xls还剩2页未读,继续阅读下载文档到电脑,马上远离加班熬夜!亲,喜欢就下载吧,价低环保!内容要点:《网络操作系统》服务器配置IP地址分配及成绩表序号姓名 IP1 IP2 IP31邵岳 121.250.125.156 121.250.125.157 121.250.125.1582王丽娟121.250.125.161 121.250.125.162 121...

  • 系统IO地址表

    PC机中仅使用A[0]--A[9]地址位来表示I/O地址,即可有1024个地址。前512个供系统电路使用,后512个供扩充插槽使用。当A[9]=0时表示为系统板上的I/O地址;A[9]=1 时表示为扩充插槽接口卡上的地址。系统I/O地址使用情况I/O地址范围用途 I/O地址范围用途0000-001F8237A DMA控制器1 00E0

  • webwork 类型转换器

    派生WebworkTypeConverter实现Date的类型转换 用webwork的datepicker时, 如果格式是&quot;%Y-%m-%d&quot;工作很正常, 但是有些格式需要带上时间的:&quot;%Y-%m-%d %H:%M&quot;, 这时用webwork默认的...

  • webwork自定义日期类型转换

    [ webwork2.2.6]webwork提供了很多常用的类型转换,但有时还是有特殊的情况,需要添加自己的类型转换器,增强系统易用性.如这里的例子是将 "20080808" 这种用户输入的日期直接转换成 java 日期类型.虽然现在网页设计上...

  • webwork 类型转换器 与 struts2

    派生WebworkTypeConverter实现Date的类型转换 用webwork的datepicker时, 如果格式是&quot;%Y-%m-%d&quot;工作很正常, 但是有些格式需要带上时间的: &quot;%Y-%m-%d %H:%M&quot;, 这时用webwork默认的类型转换就...

  • 注册webwork/struts2的类型转换器

    以全局时间统一控制为例: 时间转换器 package cn.aweb.awebvideo.meetingRealTime.util; import java.text.SimpleDateFormat; import java.util.Date; import j

  • 【struts2】struts2实现自定义数据类型转换器

    struts2也是通过request.getParameter(name)获取到String类型数据,并通过拦截器将String转换成各种常用的数据类型,如:Date、Time、Timestamp等,然后通过getter、setter方法设置到Action对应的属性上。...

  • Struts2下创建自定义类型转换器(表单中日期的处理)

    在表单提交中需要有日期的输入,默认的Struts2处理机制可能不能满足需求,需要自定义一下类型转换器。如: String-----&amp;gt;java.util.Date:输入 java.util.Date------&amp;gt;String:输出:查询显示,输出错误...

  • Struts2的类型转换器

    在B/S应用中,将字符串请求参数转换为相应的数据类型,是MVC框架提供的功能,而Struts2是很好的MVC框架实现者,理所当然,提供了类型转换机制。 Struts2的类型转换是基于OGNL表达式的,只要我们把HTML输入项...

  • struts2学习之类型转换

     我们都知道从前台表单的数据提交到后台时候,都是字符串类型的,我们用到时,还得对它们进行类型转换,如果一个 表单数据很多的话,如果每一个都用request.getParameter(&quot;name&quot;)来得到的话,那是很烦躁...

  • webwork

    WebWork目前最新版本是2.1,现在的WebWork2.x前身是Rickard Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和WebWork2两个项目,如下示意图所示:    Xwork简洁、灵活功能强大,...

  • WebWork教程

    WebWork教程-0.90版 作者:moxie(安子) 发布记录: 2004-6-29:WebWork教程0.90 版 说明:本次发布的是初稿部分,除了章节:“实战G-Roller-WW”、“WebWork与其它开源项 目的集成”,其余章节全部完成。 ...

  • struts2学习之三、类型转换

    struts2学习之三、类型转换 1、本例中在界面上输入点,所以引入了类型转换点的pojo类 package com.test.bean; public class Point { private int x; private int y; public int getX() { return x; } ...

  • Struts2类型转换

    从网上找到的非常赞的struts2类型转换教程。 作者:天堂露珠 来源:BlogJava 发布时间:2009-07-15 16:51 阅读:146 次 原文链接 [收藏]  [标题]:[原]Struts2类型转换 [时间]:2009-7-15 [摘要]:Struts2...

  • 【Struts2】(7)ModelDriven和类型转换器

    类型转换器 我们要自定义转换器要继承类,覆写2个方法: public class DateConverter extends StrutsTypeConverter { private SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日"); @...

  • [原]Struts2类型转换

    [标题]:[原]Struts2类型转换 ...[关键字]:浪曦视频,Struts2应用开发系列,WebWork,Apache,类型转换 [环境]:struts-2.1.6、JDK6、MyEclipse7、Tomcat6 [作者]:Winty (wintys@gmail.com) http://www.b...

  • WebWork介绍

    WebWork目前最新版本是2.1,现在的WebWork2.x前身是Rickard Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和WebWork2两个项目,如下示意图所示: Xwork简洁、灵活功能强大,它是一个标准的Co

  • webwork笔记之freemarker

      &amp;lt;#assign ww=JspTaglibs[&quot;... 现在tld文件一般都打在webwork包里了,我从jar的META-INF目录下找到taglib.tld文件,把他放到  lib目录下,改名为webwork.tld  ================================...

  • 加密算法源代码库 Encryption Source Code Base

    Encryption Source Code Base1. C/C++, asm 加密算法DES 加密算法DES.H ,DES.C ,KEY.C 超期服役 DES 算法变形LIBDES,Tripledes,Ufc1, Ufc2 Ufc-crypt 比DES更安全 Bl

  • 自己动手删除时常来袭的 木马、病毒

    自己动手删除时常来袭的 木马、病毒By 阿新 -- Seraph Chutium· http://com.6to23.com/前一阵我中了一个小破木马,开了个鬼端口。于是我开始自己手动删除,我一般不用杀毒软件,那些软件都是哄人的,比如一个简简单单的happy time都不能很好的清除!最后还是要靠我自己来~我建议有能力的话,时刻注意系统的变化,奇怪端口、可疑

Global site tag (gtag.js) - Google Analytics