Inspectopedia Help

Common subexpression can be extracted from 'switch'

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

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023