2 tfancy2012 tfancy2012 于 2016.03.07 11:51 提问

Cannot switch on a value of type String

编译报错,Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum constants are permitted

编译器已经是1.7的了

jdk安装的是1.7的,为什么还报这样的错误,求解

MyEclipse 报错:(虽然有显示乱码,但是已经把项目那些设置成UTF-8格式的了)
An error occurred at line: 160 in the jsp file: /module/tool/hsCode/detail.jsp
Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum constants are permitted
157: <%
158: for(char c: code.getInspection().trim().toCharArray()){
159: String key = String.valueOf(c);
160: switch(key){
161: case "M":
162: out.println("杩涘彛鍟嗗搧妫?獙");
163: break;

Stacktrace:

图片说明

5个回答

enpterexpress
enpterexpress   2016.03.07 11:57

不能用字符串当作值,得转化成数值类型或枚举类型

u013596119
u013596119   Rxr 2016.03.07 12:25

发下报错位置的代码吧

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.07 12:41

只有jdk1.7及以上的版本才能支持switch分支传入String类型,试试去掉你贴图右侧的第二个复选框的勾。

tfancy2012
tfancy2012 试过了,还是一样
接近 2 年之前 回复
Goskalrie
Goskalrie   2016.03.07 12:44

将项目中的JRE版本更改为1.7
如果本地中安装了1.7,可以使用快速修正
图片说明

Goskalrie
Goskalrie 回复tfancy2012: 看你系统中的配置的环境变量,使用dos窗口打印一下java版本信息
接近 2 年之前 回复
tfancy2012
tfancy2012 我这里显示的是1.7
接近 2 年之前 回复
u013247018
u013247018   2016.04.21 18:14

有人吗?我遇到了同样的问题myeclipse8.5版本图片说明没有jdk1.7怎么破/

tfancy2012
tfancy2012 我现在放弃了myeclipse 2014,安装了myeclipse 2015,一下子好了
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!