This article is about the implementation of the Switch branching statement 1) in Java
You need to use primitive type or enum after the case word. ie int in place of Integer
The value switch is supported.
int month = 8;
String monthString;
switch (month) {
case 1: monthString = "January";
break;
case 2: monthString = "February";
break;
case 3: monthString = "March";
break;
case 4: monthString = "April";
break;
case 5: monthString = "May";
break;
case 6: monthString = "June";
break;
case 7: monthString = "July";
break;
case 8: monthString = "August";
break;
case 9: monthString = "September";
break;
case 10: monthString = "October";
break;
case 11: monthString = "November";
break;
case 12: monthString = "December";
break;
default: monthString = "Invalid month";
break;
}
System.out.println(monthString);
Java does not support expression switch, you should use the if then else construct for this purpose.
In a constant expression, you need to use a primitive type. Ie int in place of integer
Example in a function:
private String[] parseCommand(String code) {
// final Integer defaultState = 1; // Not good
final int defaultState = 1; // Good
Integer state = defaultState;
for (byte b : code.getBytes()){
switch (state) {
case defaultState:
break;
}
}
return new String[0];
}