一个关于switch的问题

shan__le 2010-03-30 12:54:26
switch(row2.getString("State")){
case "1":{
ProState="前期";
break;
}
}
row2.getString("State")是从数据库取值,是一个字符型变量,但是这样写总是这句报错,有什么地方写错了吗?
...全文
90 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoguan_Java 2010-03-30
  • 打赏
  • 举报
回复
row2.getString("State");要么写成row2.getString("STATE");要么写该字段在返回值中的位置
row2.getString(1);
最好是后一种。
huminghua 2010-03-30
  • 打赏
  • 举报
回复
是错了啊!你要将这句代码装换成INT型!才可以哦!
hoojo 2010-03-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 soli11722984 的回复:]
JAVA不只支持字符串,byte,short,int,char,枚举,好象就这几个可以
[/Quote]
对的,String的是不行的。你可以转换类型
shanchutiezi 2010-03-30
  • 打赏
  • 举报
回复
看这个:
http://topic.csdn.net/u/20100330/11/2c1818e2-7044-41e3-b89b-700dc9b89665.html?seed=93495102&r=64295645#r_64295645
shan__le 2010-03-30
  • 打赏
  • 举报
回复
哦,算了算了,改选相框好了,问题不大,转个方向处理掉。
「已注销」 2010-03-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 goldenfish1919 的回复:]

switch()括弧里面只能是数字类型和枚举类型,String是不可以的
[/Quote]

Java 7 可以是 String 了
bayougeng 2010-03-30
  • 打赏
  • 举报
回复
byte,short,int,char,枚举
应该是这样。
shan__le 2010-03-30
  • 打赏
  • 举报
回复
事实证明这么写是不行的,那么就是类型不对了?我清楚了,我去找个强制转换类型的,转换过来看看了。
shan__le 2010-03-30
  • 打赏
  • 举报
回复
switch(row2.getInt("State")){
case 1:{
ProState="前期";
break;
}

}
这样写倒是不报错了,问题是还没验证,要去验证一下才能知道对不对。
soli11722984 2010-03-30
  • 打赏
  • 举报
回复
JAVA不只支持字符串,byte,short,int,char,枚举,好象就这几个可以
若鱼1919 2010-03-30
  • 打赏
  • 举报
回复
switch()括弧里面只能是数字类型和枚举类型,String是不可以的
shan__le 2010-03-30
  • 打赏
  • 举报
回复
2楼的?要封装成int型?我这个本身就是一个字符串判断,我记得asp是没问题。
3楼的,我取值和用那个方法没关系吧,进去就是一个具体的字符而已。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧