我有一些代码获取数据,然后按顺序选择它。为此,我使用简单的地图,我以后可以轻松访问(我认为..)。
我在循环中使用以下代码将地图插入另一个名为“companies”的地图:
def x = [:]
x.put(it.category[i], it.amount[i])
companies.put(it.company, x)
我可以肯定地写出结果:[Microsoft:[Food:1], Apple:[Food:1]]
但是,当我即将获得每家公司的食品价值时,它始终是null
。这是我用来获取值的代码:
def val = companies.get(it.company).get(key.toString())
def val = companies[it.company][key] // doesn't make a difference
Val始终为null。有人可以帮助和/或解释我有这个错误的原因。我究竟做错了什么?我的意思是,当我打印出来时,我可以清楚地看到1
。
答案 0 :(得分:1)
我的猜测是it.category[i]
和key
是完全不同的类型...
你可以尝试的一件事是:
x.put(it.category[i].toString(), it.amount[i])
然后
def val = companies[it.company][key.toString()] // doesn't make a difference
答案 1 :(得分:0)
解决方案很简单,可以将类别设为字符串:
x.put(it.category[i].toString(), it.amount[i])
在那个小修理之后,一切都按预期工作。