Inspectopedia Help

Unnecessary 'default' for enum 'switch' statement

Reports enum switch statements or expression with default branches which can never be taken, because all possible values are covered by a case branch.

Such elements are redundant, especially for switch expressions, because they don't compile when all enum constants are not covered by a case branch.

The language level needs to be configured to 14 to report switch expressions.

The provided quick-fix removes default branches.

Example:

enum E { A, B } int foo(E e) { return switch (e) { case A -> 1; case B -> 2; default -> 3; }; }

After the quick-fix is applied:

enum E { A, B } int foo(E e) { return switch (e) { case A -> 1; case B -> 2; }; }

Use the Only report switch expressions option to report only redundant default branches in switch expressions.

Inspection options

Option

Type

Default

Only report switch expressions

Checkbox

true

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023