在Groovy映射中将long用作键
我想要一个包含数值映射的映射,我需要:在Groovy映射中将long用作键,groovy,Groovy,我想要一个包含数值映射的映射,我需要: Long long1 = 44l; Long long2 = 45l; def myMap = [long1: 26, long2: 27]; println(myMap) 但输出的是: [long1:26, long2:27] 我希望它是: [44: 26, 45: 27] 我需要通过变量来实现这一点,因为直到运行时我才知道值是什么 谢谢。将地图声明更改为以下内容: def myMap = [(long1): 26, (long2): 27]
Long long1 = 44l;
Long long2 = 45l;
def myMap = [long1: 26, long2: 27];
println(myMap)
但输出的是:
[long1:26, long2:27]
我希望它是:
[44: 26, 45: 27]
我需要通过变量来实现这一点,因为直到运行时我才知道值是什么
谢谢。将地图声明更改为以下内容:
def myMap = [(long1): 26, (long2): 27]
当您声明映射时,Groovy正在进行一些隐式变量名到字符串的转换,因此它不计算long1,而是使用long1作为字符串键名。另请参见。将地图声明更改为以下内容:
def myMap = [(long1): 26, (long2): 27]
当您声明映射时,Groovy正在进行一些隐式变量名到字符串的转换,因此它不计算long1,而是使用long1作为字符串键名。另请参见。Groovy不仅对长变量,而且对所有变量都这样做。如果我们想使用值作为键,那么必须使用答案中提到的语法。如果我们想使用值作为键,那么必须使用答案中提到的语法。