Pular para o conteúdo principal

null_check_on_nullable_type_parameter

Detalhes sobre o diagnóstico 'null_check_on_nullable_type_parameter' produzido pelo analisador do Dart.

The null check operator shouldn't be used on a variable whose type is a potentially nullable type parameter.

Descrição

#

O analisador emite este diagnóstico quando um operador de verificação de nulo é usado em uma variável cujo tipo é T?, em que T é um parâmetro de tipo que permite que o argumento de tipo seja anulável (não tem limite ou tem um limite que é anulável).

Dado um parâmetro de tipo genérico T que tem um limite anulável, é muito fácil introduzir verificações de nulo errôneas ao trabalhar com uma variável do tipo T?. Em especial, não é incomum ter T? x; e querer afirmar que x recebeu um valor válido do tipo T. Um erro comum é fazer isso com x!. Isso quase sempre está incorreto, porque se T for um tipo anulável, x pode validamente conter null como um valor do tipo T.

Exemplo

#

O código a seguir produz este diagnóstico porque t tem o tipo T? e T permite que o argumento de tipo seja anulável (porque não tem cláusula extends):

dart
T f<T>(T? t) => t!;

Correções comuns

#

Use o parâmetro de tipo para converter a variável:

dart
T f<T>(T? t) => t as T;

Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.