Optional 変数に代入されている、または Optional を返すメソッドから返されている null を報告します。

空の値を意味している場合は、Optional.empty() (Guava の場合は Optional.absent()) を使用することをお勧めします。

例:


  Optional<Integer> foo(boolean flag) {
    return flag ? Optional.of(42) : null;
  }

クイックフィックス適用後:


  Optional<Integer> foo(boolean flag) {
    return flag ? Optional.of(42) : Optional.empty();
  }

インスペクションの構成:

optional == null などの比較式も報告する場合は、「Optional と null の比較を報告する」オプションを使用します。 これは、まれなケース (optional フィールドが遅延初期化されている場合など) なら正しい場合もありますが、optional 変数が通常 null であることはないため、optional.isPresent() が意図されていたと考えられます。

2017.2 の新機能です