以下代码打星号处编译错误,请帮忙看看

tollers 2003-10-16 10:27:19
** switch(al.get(i).getClass().getName()) {
** case "String":
cstmt.setString(i,(String)al.get(i));
break;
** case "Integer":
cstmt.setInt(i,al.get(i)));
break;
default:

al是一个ArrayList对象实例
已经import java.sql.*; import java.util.ArrayList

错误代码为:imcompatible types;found :java.sql.String,require: int at line......
...全文
44 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
songthing 2003-10-16
  • 打赏
  • 举报
回复
北极星说得比较全面。
如果是只是完成段子只中的功能(只有两种类型的话),建议用判断语句。这样改
if ((al.get(i).getClass().getName()).equals("String")) {
cstmt.setString(i,(String)al.get(i));
}else{
cstmt.setInt(i,al.get(i)));
}
haode 2003-10-16
  • 打赏
  • 举报
回复
可以结贴了
北极猩猩 2003-10-16
  • 打赏
  • 举报
回复
Java中的switch只能应用与int(当然可以隐式转换为int的其他类型入byte,short,char也可以),所以boolean,long和String都是不能用地
honkyjiang 2003-10-16
  • 打赏
  • 举报
回复
看看报错信息 :
incompatible types
found : java.lang.String
required: int
switch(str) { ..............
可见是只能用int了
LoveRose 2003-10-16
  • 打赏
  • 举报
回复
switch 语句的控制表达式和各case分支的标签值必须被指定为byte,short,char或者int型
danceflash 2003-10-16
  • 打赏
  • 举报
回复
switch-case应该只能用int
wchar 2003-10-16
  • 打赏
  • 举报
回复
case 只能是int
tollers 2003-10-16
  • 打赏
  • 举报
回复
还有,case "Integer"下一行也有同样错误

62,612

社区成员

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

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