Для удобства чтения я бы сделал что-то вроде:
def canBeLongs(things) {
things.every {
try { Long.valueOf(it); true }
catch (e) { false }
}
}
assert canBeLongs([1,2,'3'])
assert !canBeLongs([1,'fish',3])
assert !canBeLongs([null])
assert !canBeLongs([' ', 17])
Просто для lulz, это другое решение ужасно, но оно очень лаконично и охватывает все тестовые случаи:
def f(l) { l.join() ==~ /[0-9]*/ }
assert f([1,2,'3'])
assert !f([1,'fish',3])
assert !f([null])
assert !f([' ', 17])