メインコンテンツにスキップ

prefer_is_empty

長さは常に0以上なので、比較は常に「false」になります。

長さは常に0以上なので、比較は常に「true」になります。

コレクションが空かどうかをテストするには、「length」の代わりに「isEmpty」を使用してください。

コレクションが空かどうかをテストするには、「length」の代わりに「isNotEmpty」を使用してください。

説明

#

アナライザーは、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;