Java switch 语句使用 String 参数

本文介绍了在Java7及更高版本中如何使用String作为switch语句的条件,并提供了针对不同项目类型的解决方案,包括普通项目和Maven项目的具体配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当我尝试在 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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值