groovy
iteye_21091
这个作者很懒,什么都没留下…
展开
-
Groovy: 通过mixin的方式把函数添加到类
Groovy: 通过mixin的方式把函数添加到类在Groovy中我们可以通过@Mixin注释自爱编译期或运行期动态的想以后的类添加方法。例如:class Pirate { def talk(text) { "Aargh, walk the plank. ${text}" }}// 编译期mixin到Talk类. 这里可以把Pirate...2013-05-29 23:21:10 · 283 阅读 · 0 评论 -
Groovy: 太空船运算符
[size=x-large]Groovy: 太空船运算符[/size]Groovy在语言级别提供了很多有意思的运算符。 其中有一个叫做太空船(spaceship)运算符。 之所以叫他太空船运算符,是因为它的语法是 看上去有点像UFO。 这个运算符是Comparable接口的compareTo方法的另一个表现方式。这就是说只要你在自己的类里实现了compareTo方法,就是可以在你的代码...2013-06-26 22:28:39 · 285 阅读 · 0 评论 -
Groovy:switch表达式
[size=x-large]Groovy:switch表达式[/size]在Java里我们只能在switch语句中比较int或枚举类型。在Groovy中我们可以比较任何类型只要这个类型提供了isCase方法。Groovy已经为Class(利用isInstance),Object(利用equals),collections(利用contains)和正则表达式(利用matches),同样我们也...2013-06-25 22:51:06 · 1240 阅读 · 0 评论 -
Groovy: Groovy中的true和false
[size=x-large]Groovy中的true和false[/size]这里说Groovy的true和false其实不太准确, Groovy中的true和false两个关键字和Java一样都是boolean类型。 这里要说的是Groovy中的条件判断为真和假的情况。在Java中条件判断只能是boolean类型。在java中要宽泛的多:boolean类型的true和false:...2013-06-24 23:10:08 · 1752 阅读 · 1 评论 -
Groovy:Groovy中的字符串
[size=x-large]Groovy:Groovy中的字符串[/size]在Groovy中我们会看到单引号(')的字符串,双引号(")的字符串,斜杠(/)的字符串, 美元符号斜杠($/)的字符串。 Groovy的字符串比Java中的复杂的多,同时功能上也强大的多。[size=medium]单引号字符串[/size][code="java"]def s1 = 'Yep t...2013-06-23 23:06:46 · 913 阅读 · 0 评论 -
Groovy: 把方法变成闭包
[size=x-large]Groovy: 把方法变成闭包[/size]在Groovy里闭包是个很有用的工具。例如我们可以把闭包作为方法的参数,在方法内部执行这个闭包。我们可以用Groovy的语法创建闭包,也可以通过.&运算符直接把Java或Groovy方法直接当作闭包来使用。我们有一个简单的类:[code="java"]public class JavaObject ...2013-06-14 22:22:27 · 179 阅读 · 0 评论 -
Groovy: 比JavaBean好用的GroovyBean - @Bindable和@Vetoable
[size=x-large]Groovy: 比JavaBean好用的GroovyBean - Bindable和Vetoable[/size]在[url=http://zjumty.iteye.com/blog/1885978]前面的文章[/url]中我们看到了GroovyBean的基本语法。除了能用少量的代码实现JavaBean的功能以外,GroovyBean还提供了JavaBean标准...2013-06-13 22:42:10 · 451 阅读 · 0 评论 -
Groovy: 比JavaBean好用的GroovyBean
[size=x-large]Groovy: 比JavaBean好用的GroovyBean[/size]在Java里我们经常使用JavaBean,GroovyBean用更简单的语法提供了JavaBean一样的功能。 我们在JavaBean里定义一个属性时需要自己添加get/set方法。虽然现在的大多数IDE都可以为我们自动生成这些方法,但是在属性很多的情况下还是这些方法还是会影响程序的可读性...2013-06-12 23:22:27 · 222 阅读 · 0 评论 -
Groovy : 可以避免NullPointerException的安全属性访问
在Groovy中实现安全的属性访问是非常简单的事情。假如我们有下面一个简单的数据模型:[code="java"]class Company { Address address String name}class Address { Street street String postalCode String city}...2013-06-05 23:23:01 · 942 阅读 · 0 评论 -
Groovy: Elvis运算符
Groovy里有一种操作符叫Elvis运算符,可以简化Java里的二元操作符。如果我们需要在某个值是空或false时指定一个默认值时,使用Elvis运算符会使表达式更简洁。这里的false判断遵循Groovy的Truth判定方法:把null,空字符串,空集合视为false。例如:[code="java"]def sampleText// Java里的二元运算符(Groo...2013-06-04 22:55:54 · 597 阅读 · 0 评论 -
Groovy: 把Map作为接口的实现来使用
Groovy: 把Map作为接口的实现来使用在Groovy中要想实现一个接口,我们可以直接使用map,通过as关键字把它传递给一个方法。下面是一个简单的例子,我们通过map定义了一个java.io.FileFilter接口的实现。我们吧它传递给java.io.File.listFiles()方法。然后把所有扩展名是.css和.png的文件打印出来。map = [ // 实现File...2013-06-02 22:42:22 · 254 阅读 · 0 评论 -
Groovy: String.multiply()
Groovy: String.multiply()在Groovy扩展的String类中有一个multiply方法非常有用,你想做一个由80个‘-’组成的字符串吗?这样就可以:'-'.multiply(80) 甚至可以更简单:'-' * 80 http://mrhaki.blogspot.com/2009/08/groovy-goodness-stringmultip...2013-06-01 16:01:12 · 266 阅读 · 0 评论 -
Groovy:运行期把方法mixin到对象实例
Groovy:运行期把方法mixin到对象实例从Groovy 2.1 开始我们可以在运行期把方法mixin到对象实例。这个mixin和class的mixing用法很不一样,他需要调用对象实例的metaClass属性的mixin方法。class Parrot { static String speak(String text) { /"$text" Polly...2013-05-30 22:17:31 · 178 阅读 · 0 评论 -
Groovy笔记: 对Collection进行sum操作
[size=x-large]Groovy: 对Collection进行sum操作[/size]在Groovy里, 如果要对一个Collection或数组里的元素求和,只需要调用一下sum方法既可[code="java"]def list = [1,2,3,4,5,6,7,8];println list.sum(); // Output:36println list.sum(...2013-07-02 23:03:33 · 1101 阅读 · 0 评论