Groovy - Map Literal中的整数或非String键

时间:2016-09-25 15:51:59

标签: groovy

我试图使用Groovy文字创建一个Integer vs Integer的映射,即

Map<Integer, Integer> map = [1:10, 2:30, -3:32]

但是,我收到了编译错误。如何使用地图文字指定-3作为键?

1 个答案:

答案 0 :(得分:9)

正如groovy docs中所述,任何非字符串Map键都应在圆括号()中指定。

所以你可以按照下面的方式创建地图

Map sampleMap = [:]
sampleMap << [(1): 3]

您可以在我们正常访问时访问此地图键值。

如下所示

println  sampleMap[1]

输出

3

我们甚至可以将变量作为关键

String mapKey = "firstKey"
sampleMap << [ (mapKey) : 5]

println sampleMap[mapKey]

输出

5