Muszę sprawdzić wartość NULL / Empty na jakimś kodzie, zanim wykonam jakąś logikę. Mam pozycję poniżej, ponieważ czuję, że nie !members?.empty
jest poprawna.
Czy jest lepszy sposób na napisanie tego?
if (members && !members.empty) {
// Some Work
}
members?.age.max()
wyskakuje z komunikatem „Nie można wywołać metody max () na obiekcie o wartości null”, gdy składowe mają wartość null. Potrzebujeszmembers?.age?.max()
List members = null;
iList members = [ [age: 12], [age: 24], [age: null], null ]
Myślę, że teraz najlepszym sposobem rozwiązania tego problemu jest powyższy kod. Działa od Groovy 1.8.1 http://docs.groovy-lang.org/docs/next/html/groovy-jdk/java/util/Collection.html#find () . Przykłady:
źródło
FYI ten rodzaj kodu działa (możesz go uznać za brzydki, to twoje prawo :)):
Innymi słowy, ten kod ma zerowe / puste kontrole, które są zarówno bezużyteczne:
źródło