以下方法中的第一个return
不会结束该方法,而是会突破循环
boolean isAnyColorRed() {
colors.each {
if (it.type == "red")
return true // does not end the method but instead breaks the loop.
}
return false
}
什么是变通方法?此?
boolean isAnyColorRed() {
boolean foundRed = false
colors.each {
if (it.type == "red") {
foundRed = true
return //break the loop
}
}
if (foundRed)
return true
else
return false
}
答案 0 :(得分:0)
这是一种更加时髦的方式:
colors.any { it.type == 'red' }
这将返回true
或false
,因此您可以在if
表达式中使用它...