如何把String temp = request.getParameter("id"); 转换为int类型

风中的眼泪2 2015-01-13 05:35:57
在jsp的servlet类中,写了如下语句
String p=request.getParameter("pscore");
int i=Ingeter.parseInt(p); //这条语句报错了 " cant covert from Integer to int "
但是上面的语句改成 int i=Integer.valueOf(p); 编译就通过了
这是为什么?
request.getParameter()获取的参数不应该是String类型的吗?而integer.parseInt()中的参数也是String类型的,没看懂在哪里出现了语法错误。 如果把p定义成String的话,即使request得到的是null或者""也不应该语法上报错吧!
但是我在eclispe中创建一个java类写的时候上面报错的语句又是正确的。
代码如下:
...全文
2508 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
浪迹天涯-Jason 2016-12-04
  • 打赏
  • 举报
回复

这是自定拆装箱的问题,jdk1.5新特性,如果你错误,那么只能说明你的jdk版本太低。至于你的myeclipse和eclipse估计也是版本问题,我测试过myeclipse还是eclipse都可以。这是很基础的问题。
___d 2016-12-02
  • 打赏
  • 举报
回复
mdzz.. 2015年的 还挖坟?
  • 打赏
  • 举报
回复
你既然最后要转为int类型的数据,那之前就别转成String类型,最开始由request.getParameter()方法得到的是object对象,可以自由转换,你上面是先转成string,再把string转成int,直接一步搞定就行了 int ps= Integer.parseInt(request.getParameter("pscore")); int qs= Integer.parseInt(request.getParameter("qscore"));
  • 打赏
  • 举报
回复
int ps= Integer.parseInt(request.getParameter("pscore")); int qs= Integer.parseInt(request.getParameter("qscore"));
thpnihao 2015-01-20
  • 打赏
  • 举报
回复
int pscore = Integer.parseInt(ps); int qscore =Integer.parseInt(qs);
码上行动_Light 2015-01-16
  • 打赏
  • 举报
回复
引用 11 楼 u014654823 的回复:
new Integer.valueof()返回的是Integer的对象。 Integer.parseInt() 返回的是一个int的值。 new Integer.valueof().intValue();返回的也是一个int的值。 这样能够理解了吧, 返回值不同。 基本数据和引用类型。
楼主看上面这个,你应该用 Integer.parseInt() , 你代码里用错了。
ligang819350766 2015-01-16
  • 打赏
  • 举报
回复


int 和 Integer  区别
flurriedCat 2015-01-15
  • 打赏
  • 举报
回复
new Integer.valueof()返回的是Integer的对象。 Integer.parseInt() 返回的是一个int的值。 new Integer.valueof().intValue();返回的也是一个int的值。 这样能够理解了吧, 返回值不同。 基本数据和引用类型。
冥王之锤 2015-01-15
  • 打赏
  • 举报
回复
jdk1.4?1.5以上都可以自动转了。
super_Leon 2015-01-15
  • 打赏
  • 举报
回复
引用 8 楼 longtian1213 的回复:
Integer.valueOf(ps).intValue()
楼上正解
S117 2015-01-14
  • 打赏
  • 举报
回复
Integer.valueOf(ps).intValue()
Coder_D 2015-01-14
  • 打赏
  • 举报
回复
Integer.parseInt(ps);
风中的眼泪2 2015-01-14
  • 打赏
  • 举报
回复
引用 2 楼 q75822144 的回复:
你前台是不是输入了小数。
即使是前台输入的参数不对,那么也应该报的是异常而不是语法错误吧 而且 我在java语句中验证过,给一个明确的值String a="9" 还是报错的
风中的眼泪2 2015-01-14
  • 打赏
  • 举报
回复
引用 3 楼 qq_17637725 的回复:
报的什么错啊。。给看看啊
写了啊 cont convert from integer to int
YangSy_001 2015-01-13
  • 打赏
  • 举报
回复
static int parseInt(String s) 将字符串参数作为有符号的十进制整数进行分析。 static Integer valueOf(int i) 返回一个表示指定的 int 值的 Integer 实例。 static Integer valueOf(String s) 返回保持指定的 String 的值的 Integer 对象。 从返回值可以看出他们的区别 parseInt()返回的是基本类型int 而valueOf()返回的是包装类Integer Integer是可以使用对象方法的 而int类型就不能和Object类型进行互相转换
super_Leon 2015-01-13
  • 打赏
  • 举报
回复
报的什么错啊。。给看看啊
  • 打赏
  • 举报
回复
你前台是不是输入了小数。
tony4geek 2015-01-13
  • 打赏
  • 举报
回复
你看什么错我。

81,092

社区成员

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

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