基本用法

Groovy 的安全导航操作符允许在访问可能假定 null 值的变量的方法或属性时避免使用 NullPointerExceptions。它相当于 nullable_var == null ? null : nullable_var.myMethod()

def lst = ['foo', 'bar', 'baz']

def f_value = lst.find { it.startsWith('f') }    // 'foo' found
f_value?.length()    // returns 3

def null_value = lst.find { it.startsWith('z') }    // no element found. Null returned

// equivalent to  null_value==null ? null : null_value.length()
null_value?.length()    // no NullPointerException thrown

// no safe operator used
​null_value.length()​​​​​    // NullPointerException thrown