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 会保留条目的顺序,因此选择移除哪个条目可能会影响迭代器返回键和值的顺序。