Java switch 语句如何使用 String 参数

问题

当我尝试在 switch 语句使用 String 参数时(注意ctrType为字符串)

switch (ctrType) {
case "01" : 
exceptionType = "读FC参数数据";
break;
case "03" :
exceptionType = "读FC保存的当前表计数据";
break;
default:
exceptionType = "未知控制码:"+ctrType;
}

提示如下错误:

Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted

意思是说,我的 jre 本版本太低,不支持。据查 在 Java 7之前,switch 只能支持 byte、short、char、int或者其对应的封装类以及 Enum 类型。在 Java 7中,String支持也终于被加上了。

解决

普通项目

安装 JDK 1.7+,在项目中更改配置引入该 JDK 版本依赖库。

Maven 项目

更改 pom.xml 文件,设置 maven-compiler-plugin 插件目标版本为 1.7+,例如

<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
...
</plugins>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。