作为一名java程序员,都知道字符串的重要性以及如何将它用于条件流程。无论是对不同输入字符串行为的判断,还是Servlet控制器类来检查传入的动作并相应地处理它,我们都会使用字符串来比较以确定执行流程。
Java switch case是一种编码条件流的简洁方法,就像if-else
条件一样。在Java 7之前,实现基于字符串的条件流的唯一方法是使用if-else
条件。但是Java 7改进了switch/case以支持String
类型。
Java switch case字符串示例
下面是一个java程序,演示如何在java switch case语句中使用String
。为了方便比较,还提供了使用if-else
条件执行相同条件流的方法。
public class SwitchStringExample {
public static void main(String[] args) {
printColorUsingSwitch("red");
printColorUsingIf("red");
// switch case string is case sensitive
printColorUsingSwitch("RED");
printColorUsingSwitch(null);
}
private static void printColorUsingIf(String color) {
if (color.equals("blue")) {
System.out.println("BLUE");
} else if (color.equals("red")) {
System.out.println("RED");
} else {
System.out.println("INVALID COLOR CODE");
}
}
private static void printColorUsingSwitch(String color) {
switch (color) {
case "blue":
System.out.println("BLUE");
break;
case "red":
System.out.println("RED");
break;
default:
System.out.println("INVALID COLOR CODE");
}
}
}
执行上面示例代码,得到以下结果 -
RED
RED
INVALID COLOR CODE
Exception in thread "main"
java.lang.NullPointerException
at SwitchStringExample.printColorUsingSwitch(SwitchStringExample.java:24)
at SwitchStringExample.main(SwitchStringExample.java:10)
java switch case String注意事项是:
- Java switch case通过删除多个if-else-if链接条件,使代码更具可读性。
- Java switch case String区分大小写。
- Java Switch case使用String.equals()方法将传递的值与案例值进行比较,因此请确保添加
null
检查以避免NullPointerException
。 - 根据Java 7文档,java编译器为Switch语句中的String生成比链式if-else-if语句更高效的字节代码。
- 确保只有在Java 7或以上版本中使用时才使用java switch case String,否则它将抛出
Exception
。