unnecessary_ null_ comparison
Detalhes sobre o diagnóstico 'unnecessary_null_comparison' produzido pelo analisador do Dart.
The operand can't be 'null', so the condition is always 'false'.
The operand can't be 'null', so the condition is always 'true'.
The operand must be 'null', so the condition is always 'false'.
The operand must be 'null', so the condition is always 'true'.
Descrição
#
O analisador emite este diagnóstico quando encontra uma comparação de igualdade
(== ou !=) com um dos operandos sendo null e o outro operando não podendo
ser null. Essas comparações são sempre true ou sempre false, então não
servem para nada.
Exemplos
#
O código a seguir produz este diagnóstico porque x nunca pode ser null, então
a comparação sempre resulta em true:
void f(int x) {
if (x != null) {
print(x);
}
}
O código a seguir produz este diagnóstico porque x nunca pode ser null, então
a comparação sempre resulta em false:
void f(int x) {
if (x == null) {
throw ArgumentError("x can't be null");
}
}
Correções comuns
#Se o outro operando deveria poder ser null, altere o tipo desse operando:
void f(int? x) {
if (x != null) {
print(x);
}
}
Se o outro operando realmente não pode ser null, remova a condição:
void f(int x) {
print(x);
}
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
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ê.