equal_keys_in_const_map
常量 map 字面量中的兩個鍵不能相等。
描述
#當常量 map 中的某個鍵與同一 map 中之前的鍵相同時,analyzer 會生成此診斷。如果兩個鍵相同,則第二個值將覆蓋第一個值,這樣包含兩個鍵值對就毫無意義了。
示例
#以下程式碼會生成此診斷,因為鍵 1 被使用了兩次
dart
const map = <int, String>{1: 'a', 2: 'b', 1: 'c', 4: 'd'};常見修復方法
#如果兩個條目都應包含在 map 中,請更改其中一個鍵以使其不同
dart
const map = <int, String>{1: 'a', 2: 'b', 3: 'c', 4: 'd'};如果只需要其中一個條目,則移除不需要的那個
dart
const map = <int, String>{1: 'a', 2: 'b', 4: 'd'};請注意,字面量 map 會保留其條目的順序,因此選擇移除哪個條目可能會影響 iterator 返回鍵和值的順序。