Ответ 1
Существует действительно Groovier Way.
if(members){
//Some work
}
делает все, если members
- это коллекция. Нулевая проверка, а также пустая проверка (пустые коллекции привязаны к false
). Приветствуем Groovy Правда.:)
Мне нужно выполнить проверку null/empty на некотором коде, прежде чем выполнить некоторую логику.
У меня есть пункт ниже, потому что я чувствую, что !members?.empty
неверен.
Есть ли более эффективный способ написать следующее?
if (members && !members.empty) {
// Some Work
}
Существует действительно Groovier Way.
if(members){
//Some work
}
делает все, если members
- это коллекция. Нулевая проверка, а также пустая проверка (пустые коллекции привязаны к false
). Приветствуем Groovy Правда.:)
!members.find()
Я думаю, что сейчас лучший способ решить эту проблему - код выше. Работает с Groovy 1.8.1 http://docs.groovy-lang.org/docs/next/html/groovy-jdk/java/util/Collection.html#find(). Примеры:
def lst1 = []
assert !lst1.find()
def lst2 = [null]
assert !lst2.find()
def lst3 = [null,2,null]
assert lst3.find()
def lst4 = [null,null,null]
assert !lst4.find()
def lst5 = [null, 0, 0.0, false, '', [], 42, 43]
assert lst5.find() == 42
def lst6 = null;
assert !lst6.find()