2

私の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 つの疑問が生じます。

  1. この動作を有効または無効にするにはどうすればよいですか? 同じワークスペース内の 2 番目のプロジェクトでは、Eclipse はこれを行いません。したがって、ワークスペース設定で構成された注釈ベースの null 分析だけに依存するわけではありません。

  2. Eclipse が結論を下す理由はannotation、戻り値が(ドキュメントによって)@NonNull明らかになる可能性がある間です。null

java.lang.annotation.Annotation java.lang.Class.getAnnotation(java.lang.Class annotationClass)

そのような注釈が存在する場合は、指定された型のこの要素の注釈を返し、そうでない場合は null を返します。

4

1 に答える 1