Groovy使用唯一功能从列表中删除重复项

Adi*_*Mor 2 string groovy list unique soapui

我正在使用soapui groovy脚本。我想使用下一个代码从列表中删除重复项:

def  myStr = "aaaa ; bbbb ; ccccc"

def myList = myStr.split(";")

myList = myList.unique()
Run Code Online (Sandbox Code Playgroud)

但是当我调整代码时,我得到了例外:

没有方法签名:[Ljava.lang.String; .unique()适用于参数类型:()值:[]可能的解决方案:minus(java.lang.Object),minus(java.lang.Iterable),minus ([Ljava.lang.Object;),size(),use([Ljava.lang.Object;),use(java.lang.Class,groovy.lang.Closure)

dma*_*tro 5

与使用split tokenize()而不是split()返回String Array相比,使用而不是返回ArrayList。

def  myStr = "aaaa ; bbbb ; ccccc;"
def myList = myStr.tokenize(";")*.trim()
myList = myList.unique()
Run Code Online (Sandbox Code Playgroud)

或使用(toList()如果您正在使用split()或将String数组转换为)Set

但是,基于您要从列表中删除重复的项目,但我看不到任何重复的项目的问题。如果要从列表项中删除重复的字符串,请使用:

myList = myList.unique().collect { it.toSet().join() }
Run Code Online (Sandbox Code Playgroud)