什么[:]在groovy中意味着什么?

时间:2014-04-04 14:08:18

标签: variables groovy definition

在阅读其他开发人员的一些常规代码时,我遇到了以下定义:

def foo=[:]

这是什么意思?

3 个答案:

答案 0 :(得分:30)

[:]是创建地图的简写表示法。

您还可以为其添加键和值:

def foo = [bar: 'baz']

答案 1 :(得分:9)

[:]创建一个空地图。冒号用来区别于[],它创建一个空列表。

这个常规代码:

def foo = [:]

大致相当于这个java代码:

Object foo = new java.util.LinkedHashMap();

答案 2 :(得分:2)

引用the doc

  

请注意[:]是空地图表达式。

...这是唯一Map,其中size()返回0.)本身,它很少有用,但您可以在此Map中添加值,当然:

def emptyMap = [:]
assert emptyMap.size() == 0
emptyMap.foo = 5
assert emptyMap.size() == 1
assert emptyMap.foo == 5