switch-expression使用String类型。如果switch-expression为null,则抛出NullPointerException。
case标签必须是字符串文字。我们不能在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;
}
}
}
上面的代码生成以下结果。
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;
}
}
}
上面的代码生成以下结果。
© 著作权归作者所有