ロジックを実行する前に、コードでnull/emptyチェックを実行する必要があります。 !members?.empty
が正しくないと感じたため、以下の項目があります。
以下を書くためのよりグルーヴィーな方法はありますか?
if (members && !members.empty) {
// Some Work
}
実際、Groovier Wayがあります。
if(members){
//Some work
}
members
がコレクションの場合、すべてを実行します。 Nullチェックと空のチェック(空のコレクションはfalse
に強制されます)。あられ Groovy Truth 。 :)
!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