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