跳到主要内容

prefer_is_empty

因为长度总是大于或等于 0,所以此比较始终为 'false'。

因为长度总是大于或等于 0,所以此比较始终为 'true'。

使用 'isEmpty' 而不是 'length' 来测试集合是否为空。

使用 'isNotEmpty' 而不是 'length' 来测试集合是否为空。

描述

#

当调用 Iterable.lengthMap.length 的结果与零 (0) 进行相等性比较时,分析器会产生此诊断。

示例

#

以下代码会产生此诊断,因为对调用 length 的结果进行了零相等性检查

dart
int f(Iterable<int> p) => p.length == 0 ? 0 : p.first;

常见修复方法

#

length 的使用替换为 isEmptyisNotEmpty 的使用

dart
void f(Iterable<int> p) => p.isEmpty ? 0 : p.first;