prefer_is_empty
因为长度总是大于或等于 0,所以此比较始终为 'false'。
因为长度总是大于或等于 0,所以此比较始终为 'true'。
使用 'isEmpty' 而不是 'length' 来测试集合是否为空。
使用 'isNotEmpty' 而不是 'length' 来测试集合是否为空。
描述
#当调用 Iterable.length
或 Map.length
的结果与零 (0
) 进行相等性比较时,分析器会产生此诊断。
示例
#以下代码会产生此诊断,因为对调用 length
的结果进行了零相等性检查
dart
int f(Iterable<int> p) => p.length == 0 ? 0 : p.first;
常见修复方法
#将 length
的使用替换为 isEmpty
或 isNotEmpty
的使用
dart
void f(Iterable<int> p) => p.isEmpty ? 0 : p.first;