JavaScript is not supported by your browser. JavaScript support is required for full functionality of this page.
Skip to Content

Strings in switch Statements

In the JDK 7 release, you can use a String object in the expression of a switch statement:

public String getTypeOfDayWithSwitchStatement(String dayOfWeekArg) {
 String typeOfDay;
 switch (dayOfWeekArg) {
 case "Monday":
 typeOfDay = "Start of work week";
 break;
 case "Tuesday":
 case "Wednesday":
 case "Thursday":
 typeOfDay = "Midweek";
 break;
 case "Friday":
 typeOfDay = "End of work week";
 break;
 case "Saturday":
 case "Sunday":
 typeOfDay = "Weekend";
 break;
 default:
 throw new IllegalArgumentException("Invalid day of the week: " + dayOfWeekArg);
 }
 return typeOfDay;
}

The switch statement compares the String object in its expression with the expressions associated with each case label as if it were using the String.equals method; consequently, the comparison of String objects in switch statements is case sensitive. The Java compiler generates generally more efficient bytecode from switch statements that use String objects than from chained if-then-else statements.


Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved.

AltStyle によって変換されたページ (->オリジナル) /