私のEclipse Neonワークスペース設定で、私はチェックし[x] Enable annotation-based null analysis
ました。Assign statement to new variable
クイックアシストからやっていると、Eclipse@NonNull
が新しい変数の代入を追加することがあります。したがって、1 行目の代わりに 2 行目を取得します。
Deprecated annotation = Main.class.getAnnotation(Deprecated.class); // line 1
@NonNull Deprecated annotation = Main.class.getAnnotation(Deprecated.class); // line 2
これにより、次の 2 つの疑問が生じます。
この動作を有効または無効にするにはどうすればよいですか? 同じワークスペース内の 2 番目のプロジェクトでは、Eclipse はこれを行いません。したがって、ワークスペース設定で構成された注釈ベースの null 分析だけに依存するわけではありません。
Eclipse が結論を下す理由は
annotation
、戻り値が(ドキュメントによって)@NonNull
明らかになる可能性がある間です。null
java.lang.annotation.Annotation java.lang.Class.getAnnotation(java.lang.Class annotationClass)
そのような注釈が存在する場合は、指定された型のこの要素の注釈を返し、そうでない場合は null を返します。