在执行某些逻辑之前,我需要对某些代码执行空/空检查。我下面有项目,因为我觉得!members?.empty
不正确。
有没有更时髦的方式来写以下内容?
if (members && !members.empty) {
// Some Work
}
在执行某些逻辑之前,我需要对某些代码执行空/空检查。我下面有项目,因为我觉得!members?.empty
不正确。
有没有更时髦的方式来写以下内容?
if (members && !members.empty) {
// Some Work
}
Answers:
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()