连接布尔元素groovy的列表

我有一个布尔元素列表:

def list=[true,false,true,true]

我问是否存在如下方法

list.joinBoolean('&&')

<假

因为:真实&&虚假&&真实&&真=假

list.joinBoolean('||')

<真正

因为:true ||假||真||真=真

如果它不存在,我知道如何进行循环以获得预期的结果;

boolean tmp=true;
  list.each{e->
     tmp=tmp && e;    
  }
   return tmp;

要么

boolean tmp=false;
  list.each{e->
     tmp=tmp || e;    
  }
   return tmp;

解决方法

要么:

list.inject { a,b -> a && b }
list.inject { a,b -> a || b }

如果列表可以为空,则需要使用更长的注入形式:

list.inject(false) { a,b -> a && b }
list.inject(false) { a,b -> a || b }

或者使用以下任何一种方法

顺便说一句

其他答案中提到的任何和所有功能的工作方式如下:

list.any()
list.every()

或者(更长的形式)

list.any { it == true }
list.every { it == true }

相关文章

背景:    8月29日,凌晨4点左右,某服务告警,其中一个...
https://support.smartbear.comeadyapi/docs/soapui/steps/g...
有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能...
Scala和Java为静态语言,Groovy为动态语言Scala:函数式编程,...
出处:https://www.jianshu.com/p/ce6f8a1f66f4一、一些内部...
在运行groovy的junit方法时,报了这个错误:java.lang.Excep...