包含字符串的groovy eval字符串

时间:2014-08-19 11:47:58

标签: string list groovy eval

我有一个包含字符串的列表对象。我正在将此列表转换为字符串。 然后我想将list-string计算回一个包含字符串的列表对象。

Eval.me(["abc"].toString())

如何使这个工作? Eval应该给我[“abc”](=包含字符串的list对象)。

由于

2 个答案:

答案 0 :(得分:3)

使用inspect()

可以获得更大的灵活性
def list = ['a', 'b', 'c']
def string = list.inspect()

assert string == "['a', 'b', 'c']"
assert string instanceof java.lang.String

// Get back original list from String
def originalList = Eval.me( string )
assert originalList == list
assert originalList instanceof java.util.ArrayList

答案 1 :(得分:1)

["abc"].toString()

返回字符串如下:

[abc]

所以你可以看到它不是有效的列表定义。评估["test"]字符串将返回ArrayList:

assert Eval.me('["test"]').class == ArrayList