我有一些像这样的代码:
$set($map = {"a": [1,1], "b", [2,2] } )
#foreach( $key in $map.keySet() )
#set($val = $map.get($key).toList())
#set($junk = $val.add(9))
#set($junk = $map.put($val)
#end
最后,我希望$map
包含
{"a": [1,1,9], "b", [2,2,9] }
但是因为put()
重复使用相同的变量,所以数组通过引用传递,$map
最终为:
{"a": [2,2,9], "b", [2,2,9] }
更新
我认为应该可以使用类似的东西,但我怀疑我需要在变量名中转义$
。
#evaluate( "$map.get($key).asList().add(9)" )
更新2
我最终改变了数据结构的方式,因此我没有在maps / sets中使用数组。我没有找到在集合中更新它们的方法。