Reports switch expressions and statements where every branch has a common subexpression, so the switch could be moved inside. This action shortens the code. In many cases, it's reasonable to extract the resulting switch expression to a separate variable or method.

Example:


  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");
  }

After the quick-fix is applied:


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

This inspection is applicable only to enhanced switches with arrow syntax.

New in 2022.3