如果object没有属性而我正在调用该属性,则会出现'missingPropertyException'。我能否以相同的方式对缺失属性执行类似安全null(?。)的操作,以便不通过异常?
谢谢
答案 0 :(得分:17)
一种选择是:
def result = obj.hasProperty( 'b' ) ? obj.b : null
如果对象没有属性,则返回null ...
另一种方法是将propertyMissing
添加到您的类中,如下所示:
def propertyMissing( name ) {
null
}
这意味着任何缺少的属性只会导致null。
答案 1 :(得分:-1)
您也可以使用try / catch
<span></span>