我们有一个清单:
List test = ["a", "b", "c"]
我不想更改此硬编码列表,因为它有很多项目。
打印时如下:
println "${test}"
我们得到
[a, b, c]
但我想要 ["a", "b", "c"]
有什么建议吗?
您可以尝试通过像这样连接所有元素来将您的列表表示为
String
:
List test = ["a", "b", "c"]
String listAsString = "[\"${test.join('", "')}\"]"
println listAsString
["a", "b", "c"]
它使用
", "
连接所有元素,并在字符串的开头添加 ["
,在字符串末尾添加 "]
。
Groovy 有
inspect()
用于更好 输出(更接近输入,但请注意,这不是序列化 Groovy 数据结构的正确方法):
Groovy Shell (2.5.0-beta-1, JVM: 1.8.0_152)
Type ':help' or ':h' for help.
----------------------------------------------------------------------------------------------
groovy:000> test = ["a", "b", "c"]
===> [a, b, c]
groovy:000> test.inspect()
===> ['a', 'b', 'c']
您可以使用
", "
将项目加入列表中,它应该会给您类似这样的东西 a", "b", "c
。然后只需添加左侧的字符串 ["
和右侧的字符串 "]
即可获得所需的内容 - ["a", "b", "c"]
。
请参阅下面的代码示例。
def List l = ["a","b","c"]
def String s = '["' + l.join('", "') + '"]'
print s
输出
["a", "b", "c"]