Javaでは、次のように宣言されたメソッドがありました。
void foo(@Nullable Object obj)
{ ... }
ここでの@Nullable
の意味は何ですか?入力が null
になる可能性があるということですか?
アノテーションがなければ、入力がnullになることもあるので、それだけではないのでは?
このアノテーションは NullPointerExceptions
を排除するためによく使われます。Nullableは、しばしばこのパラメータが
nullになる可能性があることを示します。このような動作の良い例は[Google Guice][1]に見られます。この軽量な依存性注入フレームワークでは、この依存性が
nullである可能性があることを示しています。もしあなたが
null`をアノテーションなしで渡そうとすると、フレームワークはその仕事をすることを拒否するでしょう。
さらに言えば、@Nullable
は@NotNull
アノテーションと一緒に使われることもあります。ここでは、それらを正しく使うためのヒントを紹介します。IntelliJのコードインスペクションはアノテーションをチェックし、コードのデバッグに役立ちます。