【发布时间】:2021-10-28 03:08:38
【问题描述】:
我有一个清单
def a = [kitkat lollypop orea android-11]
另一个列表
def b = ["kitkat", "lollypop", "honeycomb", "nougat", "android-11"]
我需要在列表 a 上执行一些任务,如果它们存在于列表 b 中,如果它们不存在于列表 b 中,则执行其他操作。
需要注意的一点是 list 项目由空格分隔且没有引号,而 list be 由逗号分隔且项目包含在引号中;由于这个原因,我在下面尝试过的事情没有奏效。
我尝试了以下方法: 1)
a.split(" ").each{
def itema = it
b.split(",").each{
if(b.contains(itema){
//do something
}
}
//do something else
)
a.split(" ").each{
if(b.split(",").contains(it){
//do something
}
//do something else
}
for(itema in a){
for(itemb in b){
if(itema == itemb){
//do something
}
}
//do something else
}
a.intersect(b)
但是由于列表元素之间有空格,这引发了异常
我想我想要的是从列表 a 中创建一个新列表,方法是将其更改为用逗号分隔的带有引号的项目,然后可以使用上述解决方案之一 还是有更好的方法来做我想要的 groovy?
【问题讨论】:
标签: arraylist groovy compare jenkins-groovy