0

我是 groovy 的新手,正在阅读一个测试用例,我发现以下内容:

def temp = {
        def temp = new HashMap()
        temp.clear()
        temp.set('A', '1')
        temp.set('B', '2')
        temp
    }

我想知道 temp 变量在定义结束时将保持什么值,因为它在测试用例中使用

assert Blah.blah(temp())
4

1 回答 1

2

它应该类似于地图[ A:1, B:2 ]

您的断言行调用temp()返回该映射,然后将其传递给Blah.blah方法

您可以将整个闭包重写为:

def temp = { -> [ A:1, B:2 ] as HashMap }

如果 LinkedHashMap 可以,您甚至可以省略这as HashMap一点

于 2012-07-30T22:58:51.893 回答