ルックアップがnullを返したときにデフォルト値を処理するための次のコードがあります
def user = User.find('admin')
return user?.address?user:null
これは期待どおりに機能します
ただし、次のような Elvis 演算子を使用する場合:
def user = User.find('admin')
return user?.address?:null
例外がスローされます:
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'true' with class 'java.lang.Boolean' to class 'com.code.User'
Elvis が三項演算子とまったく同じように動作することを期待していました....?
ありがとう!