これは注釈ですが、正しい名前は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);
}