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};請注意,集合字面量會保留其元素的順序,因此選擇移除哪個元素可能會影響迭代器返回元素的順序。