equal_elements_in_set
集合字面量中的两个元素不应相等。
描述
#当非常量集合中的一个元素与同一集合中之前的元素相同时,分析器会产生此诊断信息。如果两个元素相同,则第二个值将被忽略,这使得同时拥有这两个元素变得毫无意义,并且很可能表明存在错误。
示例
#以下代码会产生此诊断信息,因为元素 1
出现了两次
dart
const a = 1;
const b = 1;
var s = <int>{a, b};
常见修复
#如果两个元素都应包含在集合中,则更改其中一个元素
dart
const a = 1;
const b = 2;
var s = <int>{a, b};
如果只需要其中一个元素,则移除不需要的那个元素
dart
const a = 1;
var s = <int>{a};
请注意,集合字面量会保留其元素的顺序,因此选择移除哪个元素可能会影响迭代器返回元素的顺序。