Switch statements should have a default case
Cette page n'est pas encore disponible en français, sa traduction est en cours.
Si vous avez des questions ou des retours sur notre projet de traduction actuel,
n'hésitez pas à nous contacter.
ID: java-best-practices/missing-switch-statement-default
Language: Java
Severity: Warning
Category: Best Practices
Description
To improve the understandability your switch
statement, it is recommended to make your statements exhaustive by incorporating a default
case.
Non-Compliant Code Examples
class Foo {
public String getValue() {
int num = 10;
System.out.println("foobar");
switch (num) {
case 1:
return "One";
case 2:
return "Two";
case 3:
return "Three";
}
}
public String getValue() {
int num = 10;
switch (num) {
case 1:
return "One";
case 2:
return "Two";
case 3:
return "Three";
}
}
}
class Foo {
public String getValue(int num) {
switch (num) {
case 1:
return "One";
case 2:
return "Two";
case 3:
return "Three";
}
}
public String getValue2(MyType num) {
switch (num) {
case 1:
return "One";
case 2:
return "Two";
case 3:
return "Three";
}
}
}
class Bar {
public String getValue(int num) {
if (something) {
switch (num) {
case 1: // a comment
return "One";
case 2:
return "Two"; // another comment
case 3:
return "Three";
}
} else {
if (somethingElse) {
switch (num) {
case 'j': // a comment
return "One";
case 2.3:
return "Two"; // another comment
case 3:
return "Three";
}
}
}
}
}
Compliant Code Examples
class Foo {
public String getValue(int num) {
switch (num) {
case 1:
return "One";
case 2:
return "Two";
case 3:
return "Three";
default:
return "Unknown"
}
}
}
class Bar {
public String getValue(int num) {
switch (num) {
case 1: // a comment
return "One";
case 2:
return "Two"; // another comment
case 3:
return "Three";
default:
return "Unknown"
}
}
}
class Bar {
public String getValue(int num) {
return switch (num) {
case 1 -> "one";
case 2 -> "two";
default -> "unknown";
}
}
}