null_check_on_nullable_type_parameter
nullableな型パラメータの変数に対してnullチェック演算子を使用しないでください。
説明
#nullチェック演算子が、型がT?であり、Tがnull許容の型引数を許可する型パラメータ(境界がないか、null許容の境界がある)である変数に使用されている場合に、アナライザーはこの診断を生成します。
null許容の境界を持つジェネリック型パラメータTが与えられた場合、型T?の変数で作業しているときに、誤ったnullチェックを導入するのは非常に簡単です。具体的には、T? x;があり、xが有効な型Tの値に設定されていることをアサートしたい場合が少なくありません。一般的な間違いはx!を使用して行うことです。これはほとんどの場合不正確です。なぜなら、Tがnull許容型である場合、xは型Tの値としてnullを有効に保持できるからです。
例
#次のコードは、tの型がT?であり、Tが(extends句がないため)null許容の型引数を許可するため、この診断を生成します。
dart
T f<T>(T? t) => t!;一般的な修正
#型パラメータを使用して変数をキャストしてください
dart
T f<T>(T? t) => t as T;