Все вышеприведенные решения завершаются ошибкой, если массив не определен:
def a = [1,2]
def b
assert a+b == [1, 2, null]
, что, вероятно, не то, что вам нужно.
Либо проверьте, существует ли массив перед добавлением:
def a = [1,2,3,4]
def b // null array
def c = [0,4,null,6]
def abc = []
[a,b,c].each{ if (it) abc += it }
assert abc == [1, 2, 3, 4, 0, 4, null, 6]
, или добавьте все и затем отфильтруйте выходные данные:
(a+b+c).findAll{ it != null }
(при условии, что здесь null
не является допустимым значением в исходных массивах, что означает, что первое решение являетсянамного лучше, даже если это не выглядит Groovy.)