对象布尔值评估

null 对象引用的计算结果为 false,非 null 引用为 true,但对于字符串,集合,迭代器和枚举,它也会考虑大小。

def m = null

if (!m)
    println "empty"
else
    println "${m}"

将打印

def m = [:]

if (!m)
    println "empty"
else
    println "${m}"

地图不是 null 但是为空,此代码将打印为

做完之后

m << ['user' : 'Groot' ]

它会打印地图:

[user:Groot]