Groovy 1.5的新特性

http://tech.ddvip.com   2008年01月22日    社区交流

内容摘要:Groovy,针对JVM的类Java动态语言,主要增强了对于Java 5特征的支持,包括注解、泛型和枚举,框架包括Spring,Hibernate,JPA,Goole Guice或者TestNG。

  其他不支持强类型的候选语言,在调用JDK、第三方库或者公司自己的库的时候,由于它们不能辨别同一方法的某一多态变种,所以始终不能调用所有的Java方法。当你选择一种语言来提高你的生产率或者使你的代码可读性更强的时候,如果你需要调用其他Java类,你必须非常谨慎的选择语言,因为可能会碰到很多麻烦。

  今天,所有主要的企业框架都需要使用注解、枚举或者泛型这样的语言特性来充分提高它们的效率。幸运的是,开发者使用Groovy1.5的话就可以在他们的项目中使用所有的Java 5特性并因此而获益。让我们看看在Groovy中如何使用注解,枚举和泛型。

  Java 5增加的部分

  Groovy编译器始终产生与以前的Java VM兼容的Java字节码,但是由于Groovy使用了JDK1.4的核心库,所以Groovy依赖于JDK1.4。然而,对于这些Java 5中增加的部分,肯定需要使用Java 5的字节码。例如,产生的类中也许包含代表着运行时保留策略注解的字节码信息。所以,虽然Groovy1.5能够在JDK1.4上运行,但是某些Groovy的特征只能在JDK1.5上使用 —— 出现这种情况时,本文会作出声明。

  可变的参数

  在Java 5中创建了省略号表示法,代表方法的参数是可变长度的。通过三个小圆点,Java允许用户在一个方法的末端输入相同类型的任意数量的参数 —— 实际上,可变长度参数(vararg)就是一个那种类型的元素的数组。可变长度参数在Groovy 1.0中已经出现了 —— 现在仍然可以在JDK1.4运行时环境下工作,1.0足以向你展示如何来使用他们了。基本上,只要当一个方法的最后一个参数是一个对象数组,或者是一个有三个点的参数,你就可以向这个方法传入多重参数。

  第一个例子介绍了在Groovy中用省略号来使用可变长度变量的方法:

来源:InfoQ中文站    作者:曹云飞    责编:豆豆技术应用

正在加载评论...