Мне нужно выполнить нулевую / пустую проверку некоторого кода, прежде чем выполнять некоторую логику. У меня есть пункт ниже, потому что я считаю !members?.empty
неправильным.
Есть ли более крутой способ написать следующее?
if (members && !members.empty) {
// Some Work
}
members?.age.max()
взрывается сообщением «Невозможно вызвать метод max () для нулевого объекта», когда члены имеют значение NULL. Вам понадобитсяmembers?.age?.max()
List members = null;
иList members = [ [age: 12], [age: 24], [age: null], null ]
против обоих решенияЯ думаю, что теперь лучший способ решить эту проблему - это код выше. Он работает с Groovy 1.8.1 http://docs.groovy-lang.org/docs/next/html/groovy-jdk/java/util/Collection.html#find () . Примеры:
источник
К вашему сведению, этот код работает (вы можете найти его уродливым, это ваше право :)):
Другими словами, этот код имеет нулевые / пустые проверки, которые бесполезны:
источник