跳到主要內容

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;