我想要一个包含数字映射的Map,我这样做:
Long long1 = 44l;
Long long2 = 45l;
def myMap = [long1: 26, long2: 27];
println(myMap)
Run Code Online (Sandbox Code Playgroud)
但输出的是:
[long1:26, long2:27]
Run Code Online (Sandbox Code Playgroud)
我希望它是:
[44: 26, 45: 27]
Run Code Online (Sandbox Code Playgroud)
我需要通过变量来做到这一点,因为我不知道在运行之前它们会是什么值?
谢谢.
将地图声明更改为以下内容:
def myMap = [(long1): 26, (long2): 27]
Run Code Online (Sandbox Code Playgroud)
当您声明Map时,Groovy正在进行一些隐式的变量名到字符串转换,因此它不是评估long1它而是long1用作String键名.另请参阅此StackOverflow问题.
| 归档时间: |
|
| 查看次数: |
215 次 |
| 最近记录: |