JDK1.7版本的为jdk1.7.0_25,不是说支持switch(String)吗?我这儿怎么老是报错?求大神解决?

publicvoidexe(){if(checkSession()==false){return;}switch(request.getParameter("action... public void exe() {
if (checkSession()==false) {
return;
}
switch (request.getParameter("actioncmd")) {
//上一行报错,说不支持String型,错误为:request.getParameter("actioncmd") 这个错误。
case "inerst_issuespecialcard":
exe_inerst_IssueSpecialCard();
break;
case "generationcardno":
generateCardNo();
break;
case "tablecount":
exe_tablecount();
break;
case "cardinfoM1":
exe_cardinfoM1();
break;
case "queryGridWithParams":
exe_queryGridWithParams();
break;
case "querycardinfo":
exe_querycardinfo();
break;
case "query":
exe_query();
break;
case "stationRechargeDetail":
exe_stationRechargeDetail();
break;
case "cardinfobalance":
exe_cardinfobalance();
break;
default:
break;
}
}

编译错误为:
Description Resource Path Location Type
Cannot switch on a value of type String. Only convertible int values or enum constants are permitted

希望路过大神帮忙看看,JDK6及6以前的确不支持switch(String){case},但是jdk7以后好像都支持样的,我怎么不支持呢。
展开
 我来答
匿名用户
2017-12-01
展开全部

switch(A),括号中A的取值只能是整型或者可以转换为整型的数值类型,比如byte、short、int、char、还有枚举;需要强调的是:long和String类型是不能作用在switch语句上的。这个是jdk 1.7之前  1.7后是加啦String 你可以看一下你的编译  需要是1.7 

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友12ee0fd
2013-08-21 · TA获得超过4.7万个赞
知道大有可为答主
回答量:1.1万
采纳率:66%
帮助的人:2263万
展开全部
项目的编译器级别是1.7吗?
追问
怎么查看编译器级别
追答

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式