跳到主要内容

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;
}