Java我们可以在Switch中使⽤String吗?
这个问题主要⽤来检查你对当前 Java 开发的了解。 Java 7扩展了 switch case 使⽤字符串的能⼒,早期的 Java 版本不⽀持这⼀点。如果您正在实现字符串的条件链,您可以使⽤ if-else 条件,如果您使⽤ Java 7或更⾼版本,则可以使⽤ switch case。
在 Java 7之前,实现基于字符串的条件流的唯⼀⽅法是使⽤ if-else 条件。 但是 Java 7也改进了 switch case 来⽀持 String。
下⾯是在Switch中使⽤String例⼦:
package com.yveshe;
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 com.yveshe.SwitchStringExample.printColorUsingSwitch(SwitchStringExample.java:34)
at com.yveshe.SwitchStringExample.main(SwitchStringExample.java:20)
Switch中使⽤String需要注意⼀下⼏点:
1.switch能够取代 if-else-if条件链使得代码更加简洁易读
2.switch⽐较的时候区分⼤⼩写,输出的例⼦也说明了这⼀点
3.Java中switch是通过String.equals ⽅法来⽐较传递值和case值,所以请确保添加 NULL 检查以避免 NullPointerException
4.java 编译器为 Switch 语句中的字符串⽣成⽐链式 if-else-if 条件语句更有效的字节码
java switch case string5.Java switch case String只能在Java7或更⾼的版本中使⽤,否则它会抛出异常
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论