null チェックを行う条件式を報告し、Optional チェーンに置換することを提案します。

例:


  return str == null ? "" : str.trim();

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


  return Optional.ofNullable(str).map(String::trim).orElse("");

置換後のコードは置換前よりも長くなる場合がありますが、リファクタリングを続けて行うときは便利な場合があります (メソッドの戻り値を Optional に変更する場合など)。

ただし、null 以外の条件分岐が null を返している場合は、対応するマッピング手順で空の Optional が作成されるため、セマンティクスが変更される恐れがあります。 セマンティクスが維持されることが静的に証明できない場合は、クイックフィックスアクションの名前に「(セマンティクスを変更する可能性あり)」という注意書きが含まれ、インスペクションのハイライトがオフになります。

2018.1 の新機能です