any 和 find in groovy 有什么区别?
What is the difference between any and find in groovy?
我正在尝试从 groovy 中的闭包中获取设置值:
myList(1, 2, 3).any { it > 2 }
myList(1, 2, 3).find { it > 2 }
所以无法弄清楚,使用哪个更好。
any
returns boolean - 如果列表中的任何元素匹配闭包条件则为真,而 find
returns 满足闭包条件的第一个元素正在通过。
如果您需要知道是否有符合特定条件的元素,请使用 any
,如果您只需要单个元素(第一个),请使用 find
,如果您需要所有元素与传递的闭包匹配的元素使用 findAll
.
示例:
assert [1, 2, 3].any { it > 1 }
assert [1, 2, 3].find { it > 1 } == 2
assert [1, 2, 3].findAll { it > 1 } == [2, 3]
我正在尝试从 groovy 中的闭包中获取设置值:
myList(1, 2, 3).any { it > 2 }
myList(1, 2, 3).find { it > 2 }
所以无法弄清楚,使用哪个更好。
any
returns boolean - 如果列表中的任何元素匹配闭包条件则为真,而 find
returns 满足闭包条件的第一个元素正在通过。
如果您需要知道是否有符合特定条件的元素,请使用 any
,如果您只需要单个元素(第一个),请使用 find
,如果您需要所有元素与传递的闭包匹配的元素使用 findAll
.
示例:
assert [1, 2, 3].any { it > 1 }
assert [1, 2, 3].find { it > 1 } == 2
assert [1, 2, 3].findAll { it > 1 } == [2, 3]