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.


enum E { A, B } int foo(E e) { return switch (e) { case A -> 1; case B -> 2; default -> 3; }; }
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

Here you can find the description of settings available for the Unnecessary 'default' for enum 'switch' statement inspection, and the reference of their default values.

Only report switch expressions

Default: Selected

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Java, 241.14841

Last modified: 12 March 2024