跳到主要内容

use_if_null_to_convert_nulls_to_bools

使用 if-null 运算符将 'null' 转换为 'bool'。

描述

#

当可为空的 bool 类型表达式与布尔文字进行比较(使用 ==!=)时,分析器会产生此诊断消息。

示例

#

以下代码会产生此诊断消息,因为可为空的布尔变量 btrue 进行了比较。

dart
void f(bool? b) {
  if (b == true) {
    // Treats `null` as `false`.
  }
}

常见修复

#

将条件重写为使用 ?? 代替。

dart
void f(bool? b) {
  if (b ?? false) {
    // Treats `null` as `false`.
  }
}