답변:
실제로 Groovier Way가 있습니다.
if(members){
//Some work
}
members
컬렉션 이면 모든 작업을 수행합니다 . Null 검사 및 빈 검사 (빈 컬렉션이로 강제 됨 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()