Groovy Tip 15
“*”操作符
基于
Groovy
语言是一个敏捷的开发语言的观点,它在很多方面给我们提供编码的方便和高效性。“
*
”操作符便是其中的一个例子,它被淹没在
Groovy
语言的很多高效特性中,不为人轻易所知,但这却恰恰说明
Groovy
语言编程的敏捷性。下面,我们就来说一说“
*
”操作符。
先从一个简单的例子说起。
def
static
int
sum(
int
i,
int
j,
int
k)
{
return
i+j+k
}
sum(
1
,
2
,
3
)
def
list = [
1
,
3
]
println
sum(*list)
我们再把例子复杂一点:
def
static
int
cal(
int
i,
int
k,list)
{
return
i+j+k+list.
size
()
}
def
list = [
1
,
3
]
println
cal(*list,[
1
,
7
])
由于
Groovy
的动态性,我们甚至可以:
def
list = [
1
,
3
,
3
]]
println
cal(*list)
除此之外,“
*
”操作符还有很多其他方面的用途,比如简化集合类的操作。下面也试图列举一些例子来说明。
def
list1 = [
1
,
3
]
def
list2 = []
list2.addAll(list1)
list2<<
4
def
list2 = list1.clone()
list2<<
4
在
Groovy
语言中,我们使用“
*
”操作符,可以这样做:
def
list2 = [*list1,
4
]
这真是太简单了。
List list =
new
ArrayList();
for
(
int
i=1;i<=20;i++)
{
list.add(i);
}
可以看到,十分的麻烦,需要使用
for
循环挨个赋值。
我们在
Groovy
语言中,只需要这样:
def
list = [*(
1
..
20
)]
除了
List
对象,“
*
”操作符同样也可以使用于
Map
对象:
def
map1 = [
'name'
:
'Tom'
,age:
19
]
def
map2 = [*:map1,
'addr'
:
'Shenzhen'
]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。