2

コードで NPE を取り除くさまざまな方法を試しています。私は Eclipse で nullness 分析を使用しており、@NonNullByDefault がとても好きです。しかし、今日、グアバのオプションで問題が発生しました。

private static Optional<Foo> bar() {
  Foo foobar = new Foo();
  return Optional.of(foobar);
}

return 行に次のコメントが表示されます。

Null type safety: The expression of type 'Optional<Foo>' needs unchecked conversion to conform to   '@NonNull Optional<Foo>'

JSR305 アノテーションを使用してみましたが、役に立ちませんでした。それを機能させる方法はありますか (Optional アノテーションと @NonNull アノテーションの両方を使用します)?

4

2 に答える 2

0

この質問に対する完全な解決策には、Optional API で null 注釈が必要です。特に of() は @NonNull を返すように宣言する必要があります。

ライブラリの作成者が API に注釈を付けるまでは、Eclipse Mars 向けに開発されている外部注釈が必要になります。https://wiki.eclipse.org/JDT_Core/Null_Analysis/External_Annotationsを参照してください

OTOH、私は興味があります.NPE回避のための両方の概念を1つのプロジェクトに組み合わせる必要があるのはなぜですか.

于 2015-02-26T19:51:28.550 に答える