我会通过例子来解释: 猫王操作员(?:) “Elvis操作符”是Java三元操作符的缩写。 如果expression式parsing为false或null,则返回“合理的默认值”。 一个简单的例子可能是这样的: def gender = user.male ? "male" : "female" //traditional ternary operator usage def displayName = user.name ?: "Anonymous" //more compact Elvis operator 安全导航操作员(?) 安全导航运算符用于避免NullPointerException。 通常当你有一个对象的引用时,你可能需要在访问对象的方法或属性之前validation它是否为空。 为了避免这种情况,安全导航操作符将简单地返回null而不是抛出exception,如下所示: def user = User.find( "admin" ) //this might be null if 'admin' does not exist def streetName = user?.address?.street //streetName will be null if […]