Groovy docsによると、これは次のことも回避するため==、単なる「賢い」ものです。equals()NullPointerException
Java のメソッド
==は実際には Groovy のis()メソッドであり、 Groovy のメソッド==は賢いequals()![...]
しかし、通常の比較を行うには、左または右がそうであるかどうかに関係なく、
equals()Groovy の を優先する必要があります。==NullPointerExceptionnull
そのため、オブジェクトが null でない場合、==andequals()は同じ値を返す必要があります。ただし、次のスクリプトを実行すると予期しない結果が得られます。
println "${'test'}" == 'test'
println "${'test'}".equals('test')
私が得ている出力は次のとおりです。
true
false
これは関連する既知のバグGStringImplですか、それとも私が見逃しているものですか?