Groovy:java流anyMatch的模拟是什么

Groovy:java流anyMatch的模拟是什么,java,groovy,functional-programming,closures,java-stream,Java,Groovy,Functional Programming,Closures,Java Stream,以下操作的Groovy模拟是什么 list.stream().anyMatch(b -> b == 0); 您的意思是查找列表是否包含元素0 def list = [0,1,2,3,4] def result = list.any{it == 0} println result 您可以在线快速试用它Groovy语法的范围从Java风格到惯用Groovy。这两项工作: // Java-esque List<Integer> list = [4,3,2,1,0] assert

以下操作的Groovy模拟是什么

list.stream().anyMatch(b -> b == 0); 

您的意思是查找列表是否包含元素
0

def list = [0,1,2,3,4]
def result = list.any{it == 0}
println result

您可以在线快速试用它

Groovy语法的范围从Java风格到惯用Groovy。这两项工作:

// Java-esque
List<Integer> list = [4,3,2,1,0]
assert list.stream().any{ b -> b == 0 }

// Groovier (note `it` is an alias for the parameter)
def list2 = [4,3,2,1,0]
assert list2.stream().any{ it == 0 }
//Java风格
列表=[4,3,2,1,0]
assert list.stream().any{b->b==0}
//Groovier(注意`it`是参数的别名)
def list2=[4,3,2,1,0]
断言list2.stream().any{it==0}

请检查解决方案,看看是否有帮助?如果我的
列表
不是原语列表怎么办。但是对象列表和我想按内部属性过滤?@Rudziankoŭ您只需更改谓词
{it==0}
,与Java Stream API相同。它是
it
任意名称吗?
it
不是任意名称。如果不声明闭包参数,则默认情况下闭包参数将获得该名称
{it==0}
{someArg->someArg==0}
相同,“如果我的列表不是一个原语列表,但是对象列表和我想按内部属性过滤的对象列表呢?”-您可以执行类似
{it.homeAddress.town='St.Louis'}
的操作。