【发布时间】:2012-10-30 21:16:57
【问题描述】:
第一张地图是默认选项[a: true, b: false]。第二张地图 - 用户 [a:false] 传递的选项。 Groovy 是否有地图合并方法来获取[a: false, b:false]?
在 Groovy 中实现它是没有问题的。我问的是开箱即用的方法
【问题讨论】:
标签: dictionary groovy
第一张地图是默认选项[a: true, b: false]。第二张地图 - 用户 [a:false] 传递的选项。 Groovy 是否有地图合并方法来获取[a: false, b:false]?
在 Groovy 中实现它是没有问题的。我问的是开箱即用的方法
【问题讨论】:
标签: dictionary groovy
你可以使用加号:
assert [ a: true, b: false ] + [ a: false ] == [ a: false, b: false ]
或左移:
assert [ a: true, b: false ] << [ a: false ] == [ a: false, b: false ]
区别在于<<adds the right hand map into the left hand map。当你使用+时,它constructs a new Map based on the LHS,并在其中添加右手地图
【讨论】:
+时,你也可以使用+=:def m1 =[ a: true, b: false ]; m1 += [ a: false ] ; println (m1 == [ a: false, b: false ])