我想我把这些声明搞砸了,但我有一个 groovy 类,其字段定义如下:
Map<String, SomeType> _someField = [:]
我做这样的插入:
_someField.put( someStringVariable, someTypeInstance )
...然后,当我检查我知道已映射的键是否存在时,检查失败:
_someField.containsKey( someStringVariable )
我能让这个成功的唯一方法是调用toString()
,如下所示:
_someField.containsKey( someStringVariable.toString() )
我正在使用映射的通用声明,因此我的 IDE 为我提供了值类型的自动完成功能,所以我真的很想(我认为)将类型信息保留在那里。
我尝试将密钥类型从String
to更改为GString
,但无济于事。我尝试将地图初始化从 groovy 速记[:]
更改为new LinkedHashMap<>
,但也无济于事。
我是否可以保留类型信息并避免使用的任何想法toString()
?