type_check_with_null
对非 null 的测试应使用 '!= null' 进行。
对 null 的测试应使用 '== null' 进行。
描述
#当存在类型为 Null
的类型检查(使用 as
运算符)时,分析器会生成此诊断。由于只有一个值为 Null
类型,因此显式测试 null
可以使代码更具可读性且性能更高。
示例
#以下代码会生成此诊断,因为它使用类型检查来测试 s
的值是否为 null
dart
void f(String? s) {
if (s is Null) {
return;
}
print(s);
}
以下代码会生成此诊断,因为它使用类型检查来测试 s
的值是否为非 null
dart
void f(String? s) {
if (s is! Null) {
print(s);
}
}
常见修复方法
#使用等效的与 null
的比较来替换类型检查
dart
void f(String? s) {
if (s == null) {
return;
}
print(s);
}