주석이지만 올바른 이름은 NonNull
다음과 같습니다.
protected void onSaveInstanceState(@NonNull Bundle outState)
(그리고 또한)
import android.support.annotation.NonNull;
목적은 특정 가정이 위반 될 때 컴파일러 가 경고 할 수 있도록하는 것입니다 (예 : 다른 가정이 있지만이 특정 경우와 같이 항상 값을 가져야하는 메서드의 매개 변수). 로부터 지원 주석 문서 :
@NonNull
주석은 주어진 매개 변수가 null이 될 수없는 것을 나타 내기 위해서 사용할 수 있습니다.
지역 변수가 null로 알려진 경우 (예 : 일부 이전 코드에서 null인지 여부를 확인했기 때문에) 해당 매개 변수가 @NonNull로 표시된 메서드에 매개 변수로 전달하면 IDE에서 다음이 있음을 경고합니다. 잠재적 인 충돌.
정적 분석을위한 도구입니다. 런타임 동작은 전혀 변경되지 않습니다.
이 경우 특정 경고는 재정의중인 원래 메서드 (에서 Activity
) @NonNull
에 outState
매개 변수 에 대한 주석이 있지만 재정의 메서드에 포함하지 않았다는 것입니다. 추가하기 만하면 문제가 해결됩니다.
@Override
protected void onSaveInstanceState(@NonNull Bundle outState) {
super.onSaveInstanceState(outState);
}