equal_keys_in_map
Map 字面量中的兩個鍵不應相等。
描述
#當非 const map 中的某個鍵與同一 map 中之前的鍵相同時,分析器會生成此診斷訊息。如果兩個鍵相同,則第二個值會覆蓋第一個值,這使得同時擁有這對鍵值對變得毫無意義,並很可能表明存在錯誤。
示例
#以下程式碼會生成此診斷訊息,因為鍵 a 和 b 的值相同。
dart
const a = 1;
const b = 1;
var m = <int, String>{a: 'a', b: 'b'};常見修復方法
#如果 map 中應包含這兩個條目,則修改其中一個鍵。
dart
const a = 1;
const b = 2;
var m = <int, String>{a: 'a', b: 'b'};如果只需要其中一個條目,則移除不需要的那個。
dart
const a = 1;
var m = <int, String>{a: 'a'};請注意,字面量 map 會保留條目的順序,因此選擇移除哪個條目可能會影響迭代器返回鍵和值的順序。