Это аннотация, но правильное название NonNull
:
protected void onSaveInstanceState(@NonNull Bundle outState)
(А также)
import android.support.annotation.NonNull;
Цель состоит в том, чтобы позволить компилятору предупреждать, когда определенные предположения нарушаются (например, параметр метода, который всегда должен иметь значение, как в этом конкретном случае, хотя есть и другие). Из документации Support Annotations :
@NonNull
Аннотации можно использовать , чтобы указать , что данный параметр не может быть пустым.
Если известно, что локальная переменная имеет значение NULL (например, из-за того, что какой-то более ранний код проверял, была ли она нулевой), и вы передаете это в качестве параметра методу, где этот параметр помечен как @NonNull, IDE предупредит вас, что у вас потенциальная авария.
Это инструменты статического анализа. Поведение во время выполнения не изменяется.
В этом случае особое предупреждение заключается в том, что исходный метод, который вы переопределяете (в Activity
), имеет @NonNull
аннотацию к outState
параметру, но вы не включили ее в метод переопределения. Простое добавление должно решить проблему, т.е.
@Override
protected void onSaveInstanceState(@NonNull Bundle outState) {
super.onSaveInstanceState(outState);
}