groovy.lang.GString オブジェクトをマップのキーとして使用しているステートメントを報告します。 一般的に GString オブジェクトはミュータブルであるため、ほぼ確実にキーとして使用すべきではありません。 GString エントリは、同じ値を持つ java.lang.String オブジェクトでアクセスすることもできません。

例:


def map = [:]
def key = 'foo'
map << ["${key}": 'bar']
assert map[key] == null // 混乱を招く比較による 'true' の結果

2017.1 の新機能です