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>
时间: 2025-01-03 19:01:08

Java switch 语句使用 String 参数的相关文章

[Java] Switch能否用string做参数?

版权声明:请尊重个人劳动成果,转载注明出处,谢谢! 1 . 在jdk 7 之前,switch 只能支持 byte.short.char.int 这几个基本数据类型和其对应的封装类型.switch后面的括号里面只能放int类型的值,但由于byte,short,char类型,它们会 自动 转换为int类型(精精度小的向大的转化),所以它们也支持. 对于精度比int大的类型,long.float.double,不会自动转换成int.要想使用就得加强转如(int)long. 另外boolean类型不参与

java switch语句使用注意的四大细节_java

switch语句的格式如下:(它的功能是选出一段代码执行) 复制代码 代码如下: switch(整数选择因子) { case 整数值1 : 语句; break; case 整数值2 : 语句; break; case 整数值3 : 语句; break; case 整数值4 : 语句; break; case 整数值5 : 语句; break; ... default:语句; } 但是要注意几点如下: 1.switch中case的参数类型只能是int类型,但是放byte,short,char类型的

java switch语句用法

switch语句 - 使用这个条件语句在许多的代码块中选择一个执行. switch的语法如下 switch(integral-selector){        case integrak-value1 : statement;break;        case integrak-value2 : statement;break;        ......        default:statement; } */ string errs="1"; if(errs!=null){

Java控制语句之if、switch语句_java

java if语句 Java控制语句分为三大类:①顺序结构:②选择结构:③循环结构. -------------------------------------------------------------------------------- 选择结构又分为:①单选择结构:②双选择结构:③多选择结构. 主要涉及: if_else , switch , while , break 和 continue , for. if单选择结构 对条件表达式进行一次测试,若测试为真,则执行下面的语句,否则跳

switch 语句

语句   当指定的表达式的值与某个标签匹配时,即执行相应的一个或多个语句. switch (expression) {   case label :       statementlist   case label :       statementlist   ...   default :       statementlist} 参数 expression 要求值的表达式. label 根据 expression 来匹配的标识符.如果 label === expression,则立即从冒号

PHP中的switch语句的用法实例详解_php实例

switch是一个开关语句,那么很多朋友都只知道简单的switch开关语句的用法了,下面一聚教程小编就为各位详细的介绍一下switch用法例子吧. 只所以称为"高级"用法,是因为我连switch的最基础的用法都还没有掌握,so,接下来讲的其实还是它的基础用法! switch 语句和具有同样表达式的一系列的 IF 语句相似.很多场合下需要把同一个变量(或表达式)与很多不同的值比较,并根据它等于哪个值来执行不同的代码.这正是 switch 语句的用途. 注意: 注意和其它语言不同,cont

解析C++编程中的选择结构和switch语句的用法_C 语言

C++编写选择结构的程序下面,通过两个实例来说明如何编写较为复杂的C++程序. [例]编写程序,判断某一年是否为闰年. #include <iostream> using namespace std; int main( ) { int year; bool leap; cout<<"please enter year:";//输出提示 cin>>year; //输入年份 if (year%4==0) //年份能被4整除 { if(year%100=

php中switch语句用法详解_php技巧

本文介绍php中的switch语句的用法,它跟其他语句中的switch用法差不多的,但注意有有一个break语句. PHP中switch语句的标准语法: switch (expression) { case label1: code to be executed if expression = label1; break; case label2: code to be executed if expression = label2; break; default: code to be exe

JavaScript中switch语句的用法详解_基础知识

 可以使用多个if... else if语句,如前面的章节,执行多路分支.然而,这并不总是最佳的解决方案,尤其是当所有分支的依赖单一的变量的值. 使用JavaScript1.2开始,你可以用它处理的正是这种情况,使用一个switch语句,它这样做更有效,如果不是反复地使用if... else if语句.语法 switch语句的基本语法给出一个expression ,以评估计算几种不同的语句基于该表达式的值来执行.解释器检查对表达式的值的每一种情况,直到找到一个匹配.如果没有匹配,则缺省(defa