Чи є у Groovy метод об’єднання 2 карт?


85

Перша карта - це параметри за замовчуванням [a: true, b: false]. Друга карта - параметри, передані користувачем [a:false]. Чи є у Groovy метод злиття карт для отримання [a: false, b:false]?

Це не проблема впровадити його в Groovy. Я запитую про метод нестандартно

Відповіді:


176

Ви можете використовувати плюс:

assert [ a: true, b: false ] + [ a: false ] == [ a: false, b: false ]

Або ліва зміна:

assert [ a: true, b: false ] << [ a: false ] == [ a: false, b: false ] 

Різниця полягає в тому, що << карта правої руки додається до карти лівої руки . Коли ви використовуєте +, він створює нову карту на основі LHS і додає туди карту правої руки


Також, можливо, варто зазначити, що коли ви можете використовувати +, ви також можете використовувати +=:def m1 =[ a: true, b: false ]; m1 += [ a: false ] ; println (m1 == [ a: false, b: false ])
Патріс М.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.