開關表示式(switch-expression
)使用String
型別。 如果switch-expression
為null
,則丟擲NullPointerException
。
大小寫標籤必須是字串文字。不能在 case
標籤中使用String
變數。
以下是在switch
語句中使用String
的範例。
public class Main {
public static void main(String[] args) {
String status = "off";
switch (status) {
case "on":
System.out.println("Turn on");
case "off":
System.out.println("Turn off");
break;
default:
System.out.println("Unknown command");
break;
}
}
}
上面的程式碼生成以下結果。
Turn off
String
類的equals()
方法執行區分大小寫的字串比較。
public class Main {
public static void main(String[] args) {
operate("on");
operate("off");
operate("ON");
operate("Nothing");
operate("OFF");
operate("No");
operate("On");
operate("OK");
operate(null);
operate("Yes");
}
public static void operate(String status) {
// Check for null
if (status == null) {
System.out.println("status cannot be null.");
return;
}
status = status.toLowerCase();
switch (status) {
case "on":
System.out.println("Turn on");
break;
case "off":
System.out.println("Turn off");
break;
default:
System.out.println("Unknown command");
break;
}
}
}
上面的程式碼生成以下結果。
Turn on
Turn off
Turn on
Unknown command
Turn off
Unknown command
Turn on
Unknown command
status cannot be null.
Unknown command