null_check_on_nullable_type_parameter
請勿在可能為 Null 的類型參數上使用 null
檢查。
詳細資訊
#請勿在可能為 Null 的類型參數上使用 null
檢查。
給定一個具有可 Null 綁定(例如,Object?
的預設綁定)的泛型類型參數 T
,當使用 T?
類型的變數時,很容易引入錯誤的 null
檢查。具體來說,常見的情況是擁有 T? x;
並想要斷言 x
已設定為 T
類型的有效值。一個常見的錯誤是使用 x!
這樣做。這幾乎總是錯誤的,因為如果 T
是可 Null 類型,則 x
可能有效地將 null
作為 T
類型的值持有。
錯誤範例
dart
T run<T>(T callback()) {
T? result;
(() { result = callback(); })();
return result!;
}
正確範例
dart
T run<T>(T callback()) {
T? result;
(() { result = callback(); })();
return result as T;
}
啟用
#若要啟用 null_check_on_nullable_type_parameter
規則,請在 analysis_options.yaml
檔案的 linter > rules 下新增 null_check_on_nullable_type_parameter
analysis_options.yaml
yaml
linter:
rules:
- null_check_on_nullable_type_parameter
如果您改為使用 YAML 對應語法來設定 linter 規則,請在 linter > rules 下新增 null_check_on_nullable_type_parameter: true
analysis_options.yaml
yaml
linter:
rules:
null_check_on_nullable_type_parameter: true
除非另有說明,否則本網站上的文件反映的是 Dart 3.7.1 版本。頁面最後更新於 2025-03-07。 檢視原始碼 或 回報問題。