我在正确理解地图操作时遇到问题
def map1 = [ name: 'John']
def map2 = [ name: 'Jane']
assert [ name: 'Jane'] == map1 + map2
我想获得像
这样的结果地图[[ name: 'Jane'], [ name: 'John']]
答案 0 :(得分:3)
当你这样做时:
map1 + map2
它结合了地图,右手地图覆盖了与左手地图共有的任何键。
这样:
[ a:1, b:2 ] + [ b:3, c:4 ] == [ a:1, b:3, c:4 ]
您想要的是地图列表。一种选择是:
[ map1 ] + map2
将map1包装在列表中,然后将map2添加到此列表
assert [[ name: 'John'], [ name: 'Jane']] == [ map1 ] + map2