回答:
確かにGroovier Wayがあります。
if(members){
//Some work
}
members
コレクションの場合はすべてを行います。ヌルチェックおよび空のチェック(空のコレクションはに強制されますfalse
)。あられグルービートゥルース。:)
members?.age.max()
メンバーがnullの場合、「nullオブジェクトでメソッドmax()を呼び出せません」で爆破します。あなたは必要になるでしょうmembers?.age?.max()
List members = null;
とList members = [ [age: 12], [age: 24], [age: null], null ]
ソリューションの両方に対して
!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()