Groovy Tip 17 “*.”操作符

本文介绍了Groovy语言中的'*.'操作符,这是一种用于简化集合中元素属性获取的便捷方式。通过实例演示了如何使用'*.'操作符来快速获取列表中每个元素的特定属性值。
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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值