最近、Groovyのコレクションで使用されたときの動作について、GStringImpl
のvs String
が読まれました。Groovy GStringImplとStringの振る舞い
私はこれが偽と評価理由は...
"${'test'}".equals("test") == false
がGStringImpl
ができなかった理由があった場合、しかし、私は思っていた、.equals()
契約の対称性の要件によるものであることを理解しますすぐにString
に評価されるだけです。私はこのような何か...
"${'someString'}"
を行うとき、私はGStringImpl
を得ることはありませんので、私はちょうど私がすぐに、たとえば、マップ内のキーとして使用することができますプレーンJava String
背中を取得します。
私は
String s = "${'someString'}"
ようしかし、このようなものは少し不便で、かつGStringImpl
とString
間の重複が整理は、Groovyのnewbeesにとって大きな「落とし穴」であると思われる、いくつかの回避策があることを知っています。
十分に適切です。説明ありがとう。 – rcgeorge23
GStringImplクラスを動的に拡張して、構築時に.toString()を自動的に呼び出すことはできますか? –