跳到主要內容

prefer_null_aware_operators

使用 null-aware 運算子 '?.' 而不是顯式的 'null' 比較。

描述

#

當使用與 null 的比較來保護成員引用,並且當受保護目標為 null 時結果也為 null 時,分析器會產生此診斷資訊。

示例

#

以下程式碼會產生此診斷資訊,因為即使預設值為 null,對 length 的呼叫也被 null 比較所保護。

dart
int? f(List<int>? p) {
  return p == null ? null : p.length;
}

常見修復方法

#

改用 null-aware 訪問運算子。

dart
int? f(List<int>? p) {
  return p?.length;
}