用户操作
[即时聊天] [发私信] [加为好友]
冯国平ID:hivon
213397次访问,排名329好友18人,关注者79
hivon的文章
原创 93 篇
翻译 28 篇
转载 3 篇
评论 304 篇
hivon的公告
有人说,交换一个苹果,我们每人仍然只有一个苹果;交换一个思想,我们每人却有两个思想!
最近评论
jjservice:HEHE
jjservice:来了
jjservice:来了
jjservice:来了
nbkangta:不错,很受用,谢谢
文章分类
收藏
    相册
    交换链接
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 Groovy Tip 17 “*.”操作符收藏

    新一篇: Groovy探索之运算符的重载 一 | 旧一篇: Java, Groovy & Scala: side to side 2

                               Groovy Tip 17 “*.”操作符
     
     
    我们都知道,Groovy语言对集合做了很多的简化,如each、collect等等。但是,Groovy语言觉得这些还不够,它要继续给我们提供更多的简化操作。今天我们要谈到的“*.”,就是其中的一个。
    *.”操作符到底有什么用?我们还是从一个简单的例子谈起。
         
         def list = ['abc','yyyy','1234467']
         
         def sizes = list*.size()
         
         sizes.each{
            println it
         }
     
    打印的结果为:
    3
    4
    7
     
    通过上面的例子,我们可以知道,*.”操作符的操作对象是一个List对象,如上面的list对象;然后它的结果也是一个List对象;最后还有一个size()方法,是在取元素的长度。
    通过结果,我们知道,我们的“*.”操作符首先对list对象的每一个元素进行size()运算,然后把运算得到的每一个结果作为元素组成一个新的list对象sizes。
    可以知道,上面的“*.”操作符的运算相当于下面的代码:
         
         def list = ['abc','yyyy','1234467']
         
         def sizes = list.collect{
            it.size()
         }
         
         sizes.each{
            println it
         }
         
    同样的结果,但上面的代码比起“*.”操作符就麻烦多了。知道了“*.”操作符的作用,我们就可以对它进行更多的应用。
    假设我们有如下的一个GroovyBean:
    class Empl
    {
        String name
        int age
    }
     
    我们现在有一个Empl对象为元素的List对象:
    def list = [new Empl(name:'Tom',age:12),new Empl(name:'Alice',age:15),new Empl(name:'Rose',age:20)]
       
    现在,我们要取得每一个元素的age,组成一个新的List对象:
     
           def sizes = list*.age
       
     
    下面我们来测试:
          
           sizes.each{
               println it
           }
       
    结果为:
    12
    15
    20
     
     

    发表于 @ 2008年07月02日 08:08:11|评论(loading...)|编辑|收藏

    新一篇: Groovy探索之运算符的重载 一 | 旧一篇: Java, Groovy & Scala: side to side 2

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © hivon