在常规情况下,我想与另一个地图进行更新(左合并)。
def item = [attributes:[color:'Blue', weight:500], name:'hat', price:150]
def itemUpdate = [attributes:[size: 10]]
item << itemUpdate
println item
礼物:
[属性:[大小:10],名称:帽子,价格:150]
但是我想要的是:
[属性:[颜色:“蓝色”,重量:500,尺寸:10],名称:“帽子”, 价格:150]
我也尝试过:
item += itemUpdate
或使用Updating groovy object fields from a map。
没有人能满足我的要求;在 python 中,该方法将是update()
方法。
编辑:实际上我对python是错误的。
答案 0 :(得分:1)
您正在执行的操作实际上是覆盖attributes
条目。
您要执行的操作是:
item.attributes = item.attributes + itemUpdate
您甚至可以:
item.attributes += itemUpdate
两者都能产生预期的效果
[attributes:[color:Blue, weight:500, size:10], name:hat, price:150]