各分岐に共通のサブ式があるため、switch を内側に移動できる switch 式とステートメントを報告します。 そのように処理することで、コード量を削減できます。 多くの場合において、結果の switch 式を個別の変数またはメソッドに抽出することは適切です。

例:


  switch (value) {
    case 0 -> System.out.println("zero");
    case 1 -> System.out.println("one");
    case 2, 3, 4 -> System.out.println("few");
    default -> System.out.println("many");
  }

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


  System.out.println(switch (value) {
    case 0 -> "zero";
    case 1 -> "one";
    case 2, 3, 4 -> "few";
    default -> "many";
  });

このインスペクションはアロー構文を使用する拡張 switch にのみ適用できます。

2022.3 の新機能です