Back to Intellij Community

SwitchExpressionCanBePushedDown

java/java-impl/resources/inspectionDescriptions/SwitchExpressionCanBePushedDown.html

2025.3-rc-2747 B
Original Source

Reports switch expressions and statements where every branch has a common subexpression, and the switch can 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 for enhanced switches with arrow syntax.

New in 2022.3