groovy中each、find方法是一个闭包操作,要想跳出循环要使用 return true,但有几个问题有待研究:
1、groovy each 中的return true 相当于Java中的continue ,
2、groovy find中的return true 相当于Java中的break,
each例子:
def a = [1, 2, 3, 4]
a.each {
if (it == 2)
return true // 满足条件本轮循环结束
println it
}
println "-----------------------"
a.each {
if (it >= 2)
return true // 满足条件本轮循环结束
println it
}
结果:
1
3
4
1
find例子:
def a = [1, 2, 3, 4]
a.find {
if (it == 2)
return true // break
println it
}
println "-----------------------"
a.find {
if (it >= 2)
return true // break
println it
}
结果:
1
1