根据Groovy docs:
范围允许您创建顺序值列表。这些可以用作列表,因为Range扩展了java.util.List。
但是,在我的情况下,我需要List作为String结束,包括方括号。我尝试了以下方法:
def myRange = 1..5
def myList = [1, 2, 3, 4, 5]
// this passes
assert myRange == myList
// both of the following fail!
assert myRange.toString() == myList.toString()
assert myRange.subList(0, 5).toString() == myList.toString()
我错过了什么吗?
答案 0 :(得分:1)
扩展某些内容并不意味着它的toString
将是相同的。
如果您必须获得与列表相同的输出,请尝试
myRange.toList().toString()
或者
"[${myRange.join(',')}]"
或(添加评论作为一个简单的答案)
assert (1..5).toListString() == "[1, 2, 3, 4, 5]"