Ich muss eine Null / Leer- Prüfung für einen Code durchführen, bevor ich eine Logik durchführe. Ich habe Artikel unten, weil ich der Meinung bin, dass er !members?.empty
nicht korrekt ist.
Gibt es eine bessere Möglichkeit, Folgendes zu schreiben?
if (members && !members.empty) {
// Some Work
}
members?.age.max()
Wird mit "Methode max () für Nullobjekt kann nicht aufgerufen werden" angezeigt, wenn Mitglieder null sind. Sie würden brauchenmembers?.age?.max()
List members = null;
undList members = [ [age: 12], [age: 24], [age: null], null ]
gegen beide LösungenIch denke, der beste Weg, um dieses Problem zu lösen, ist der obige Code. Es funktioniert seit Groovy 1.8.1 http://docs.groovy-lang.org/docs/next/html/groovy-jdk/java/util/Collection.html#find () . Beispiele:
quelle
Zu Ihrer Information, diese Art von Code funktioniert (Sie können ihn hässlich finden, es ist Ihr Recht :)):
Mit anderen Worten, dieser Code hat null / leere Prüfungen, die beide nutzlos sind:
quelle