जवाबों:
वहाँ वास्तव में एक Groovier मार्ग है।
if(members){
//Some work
}
सब कुछ है अगर members
एक संग्रह है। रिक्त चेक के साथ-साथ खाली चेक (खाली संग्रह के लिए मजबूर हैं false
)। हेल ग्रूवी ट्रुथ । :)
members?.age.max()
सदस्यों के अशक्त होने पर "शून्य ऑब्जेक्ट पर अधिकतम विधि () लागू नहीं कर सकता है"। आपको आवश्यकता होगीmembers?.age?.max()
List members = null;
औरList members = [ [age: 12], [age: 24], [age: null], null ]
!members.find()
मुझे लगता है कि अब इस मुद्दे को हल करने का सबसे अच्छा तरीका कोड है। यह ग्रूवी 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()
FYI करें इस तरह का कोड काम करता है (आप इसे बदसूरत पा सकते हैं, यह आपका अधिकार है :)):
def list = null
list.each { println it }
soSomething()
दूसरे शब्दों में, इस कोड में बेकार / खाली दोनों चेक हैं :
if (members && !members.empty) {
members.each { doAnotherThing it }
}
def doAnotherThing(def member) {
// Some work
}