如何打印 Groovy 列表并保留引号?

问题描述 投票:0回答:3

我们有一个清单:

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

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

打印时如下:

println "${test}"

我们得到

[a, b, c]
但我想要
["a", "b", "c"]

有什么建议吗?

string list groovy concatenation
3个回答
10
投票

您可以尝试通过像这样连接所有元素来将您的列表表示为

String

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

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

println listAsString

输出

["a", "b", "c"]

它使用

", "
连接所有元素,并在字符串的开头添加
["
,在字符串末尾添加
"]


8
投票

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']

0
投票

您可以使用

", "
将项目加入列表中,它应该会给您类似这样的东西
a", "b", "c
。然后只需添加左侧的字符串
["
和右侧的字符串
"]
即可获得所需的内容 -
["a", "b", "c"]
。 请参阅下面的代码示例。

def List l = ["a","b","c"]
def String s = '["' + l.join('", "') + '"]'
print s

输出

["a", "b", "c"]
© www.soinside.com 2019 - 2024. All rights reserved.