2

これらの宣言で何かを台無しにしていると思いますが、次のように定義されたフィールドを持つグルーヴィーなクラスがあります。

Map<String, SomeType> _someField = [:]

私は次のように挿入します:

_someField.put( someStringVariable, someTypeInstance )

...そして後で、マップされていることがわかっているキーが存在するかどうかを確認すると、チェックは失敗します。

_someField.containsKey( someStringVariable )

toString()これを成功させる唯一の方法は、次のようにを呼び出すことです。

_someField.containsKey( someStringVariable.toString() )

私はマップのジェネリック宣言を使用しているので、私の IDE は値の型のオートコンプリートを提供してくれるので、そこに型情報を保持したいと思います (と思います)。

Stringキーの種類を からに変更しようとしましGStringたが、役に立ちません。[:]マップの初期化を groovy の短縮形からに変更しようとしましたがnew LinkedHashMap<>、これも役に立ちませんでした。

型情報を保持し、使用する必要を回避できるかどうかについてのアイデアはありますtoString()か?

4

1 に答える 1