在
Groovy
这样的动态语言中,闭包是其中的一个重要武器。而这些语言的开发者自然不会放弃使用这些武器,我们可以看到在
Groovy
语言的集合类中,广泛的使用了闭包。其中,
each
方法就是这样一个使用闭包的方法。
我们知道,在
Java
中,我们使用下面的语句对集合类对象进行遍历:
for
(
int
i=
0
;i<list.
size
();i++)
{
}
list.
each
{
it ->
println
it
}
已经比起传统的
for
循环语句来说简单得多,但仍然可以更简单:
list.
each
{
println
it
}
list.eachWithIndex{
i,it ->
println
"port: $i value: $it"
}
def
list = [
1
,
5
,
6
,
2
,
7
]
现在,我想要判断上面的集合对象中是否大于
5
的元素:
def
have =
false
list.
each
{
if
(it>
5
)
{
have =
true
break
;
}
}
println
have
结果却发现该
break
语言编译不过去。怎么办?
def
have =
false
for
(it
in
list){
if
(it>
5
)
{
have =
true
break
;
}
}
println
have
不错,有时侯这些旧的语法还有是用途的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。