如何打印Groovy列表并保留报价?

Swi*_*ing 5 string groovy list concatenation

我们有一个清单:

List test = ["a", "b", "c"]
Run Code Online (Sandbox Code Playgroud)

我不想更改此列表的硬编码,因为它有很多项目。

当像这样打印时:

println "${test}"
Run Code Online (Sandbox Code Playgroud)

我们得到[a, b, c]但我想拥有["a", "b", "c"]

有什么建议么?

Szy*_*iak 8

您可以尝试String通过连接所有元素来表示您的列表,如下所示:

List test = ["a", "b", "c"]

String listAsString =  "[\"${test.join('", "')}\"]"

println listAsString
Run Code Online (Sandbox Code Playgroud)

输出

["a", "b", "c"]
Run Code Online (Sandbox Code Playgroud)

它使用", "[""]字符串的开头和结尾添加所有元素。


cfr*_*ick 6

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']
Run Code Online (Sandbox Code Playgroud)