メインコンテンツにスキップ

equal_keys_in_const_map

定数マップ内のキーが重複することはできません。

説明

#

この診断は、定数マップ内のキーが、同じマップ内の以前のキーと同じ場合にアナライザーによって生成されます。2つのキーが同じ場合、2番目の値が最初の値を上書きするため、両方のペアを持つことは無意味になります。

#

以下のコードでは、キー1が2回使用されているため、この診断が生成されます。

dart
const map = <int, String>{1: 'a', 2: 'b', 1: 'c', 4: 'd'};

一般的な修正

#

両方のエントリをマップに含める必要がある場合は、いずれかのキーを変更して別のものにしてください。

dart
const map = <int, String>{1: 'a', 2: 'b', 3: 'c', 4: 'd'};

いずれか一方のエントリのみが必要な場合は、不要な方のエントリを削除してください。

dart
const map = <int, String>{1: 'a', 2: 'b', 4: 'd'};

リテラルマップはエントリの順序を保持することに注意してください。したがって、削除するエントリの選択は、イテレーターによってキーと値が返される順序に影響を与える可能性があります。