É uma anotação, mas o nome correto é NonNull
:
protected void onSaveInstanceState(@NonNull Bundle outState)
(E também)
import android.support.annotation.NonNull;
O objetivo é permitir que o compilador avise quando certas suposições estão sendo violadas (como um parâmetro de um método que deve sempre ter um valor, como neste caso particular, embora existam outros). Na documentação do Support Annotations :
A @NonNull
anotação pode ser usada para indicar que um determinado parâmetro não pode ser nulo.
Se uma variável local é conhecida como nula (por exemplo, porque algum código anterior verificou se ela era nula), e você passa isso como um parâmetro para um método onde esse parâmetro está marcado como @NonNull, o IDE irá avisá-lo que você um acidente potencial.
Eles são ferramentas para análise estática. O comportamento do tempo de execução não é alterado de forma alguma.
Nesse caso, o aviso específico é que o método original que você está substituindo (in Activity
) tem uma @NonNull
anotação no outState
parâmetro, mas você não a incluiu no método de substituição. Apenas adicioná-lo deve resolver o problema, ou seja,
@Override
protected void onSaveInstanceState(@NonNull Bundle outState) {
super.onSaveInstanceState(outState);
}