連線安全導航運算子
class User {
  String name
  int age
}
def users = [
  new User(name: "Bob", age: 20),
  new User(name: "Tom", age: 50),
  new User(name: "Bill", age: 45)
]
def null_value = users.find { it.age > 100 }    // no over-100 found. Null 
null_value?.name?.length()    // no NPE thrown
//  null ?. name  ?. length()
// (null ?. name) ?. length()
// (    null    ) ?. length()
// null
null_value?.name.length()    // NPE thrown
//  null ?. name  . length()
// (null ?. name) . length()
// (    null    ) . length()  ===> NullPointerException
null_value?.name 上的安全導航將返回 null 值。因此,length() 必須對 null 值進行檢查以避免 NullPointerException。