Collections groovy:更改列表的每个元素并连接

Collections groovy:更改列表的每个元素并连接,collections,groovy,closures,Collections,Groovy,Closures,我想将列表中的每个元素用单引号括起来,并将它们连接成一个字符串 示例输入:[“aa”、“bb”、“cc”] 预期输出:“'aa'、'bb'、'cc'” 我猜这可以通过collect+闭包来完成,所以我尝试: def mylist = ["aa", "bb", "cc"] println mylist.collect{ 'it' }.join(', ') 但是输出是:“it,it,it”,这不是我想要的 如何向列表中的每个元素追加和预挂起单个引号?除了collect and join之外,还有其

我想将列表中的每个元素用单引号括起来,并将它们连接成一个字符串

示例输入:
[“aa”、“bb”、“cc”]

预期输出:
“'aa'、'bb'、'cc'”

我猜这可以通过collect+闭包来完成,所以我尝试:

def mylist = ["aa", "bb", "cc"]
println mylist.collect{ 'it' }.join(', ')
但是输出是:
“it,it,it”
,这不是我想要的

如何向列表中的每个元素追加和预挂起单个引号?除了collect and join之外,还有其他的oneliner(或short)groovy解决方案吗?

您应该试试

mylist.collect{ "'$it'" }.join(', ')

使用
'it'
只返回字符串“it”。

它不起作用…我尝试了mylist.collect{“$it.toUpperCase()”}.join(“,”)…不确定这是否是由于toUpperCase方法造成的。这是因为您没有以正确的方式在字符串中调用变量。试试这个:mylist.collect{“${it.toUpperCase()}'”}.join(“,”)