问题描述
在jsp的servlet类中,写了如下语句Stringp=request.getParameter("pscore");inti=Ingeter.parseInt(p);//这条语句报错了"cantcovertfromIntegertoint"但是上面的语句改成inti=Integer.valueOf(p);编译就通过了这是为什么?request.getParameter()获取的参数不应该是String类型的吗?而integer.parseInt()中的参数也是String类型的,没看懂在哪里出现了语法错误。如果把p定义成String的话,即使request得到的是null或者""也不应该语法上报错吧!但是我在eclispe中创建一个java类写的时候上面报错的语句又是正确的。代码如下:
解决方案
解决方案二:
你看什么错我。
解决方案三:
你前台是不是输入了小数。
解决方案四:
报的什么错啊。。给看看啊
解决方案五:
staticintparseInt(Strings)将字符串参数作为有符号的十进制整数进行分析。staticIntegervalueOf(inti)返回一个表示指定的int值的Integer实例。staticIntegervalueOf(Strings)返回保持指定的String的值的Integer对象。从返回值可以看出他们的区别parseInt()返回的是基本类型int而valueOf()返回的是包装类IntegerInteger是可以使用对象方法的而int类型就不能和Object类型进行互相转换
解决方案六:
引用3楼qq_17637725的回复:
报的什么错啊。。给看看啊
写了啊contconvertfromintegertoint
解决方案七:
引用2楼q75822144的回复:
你前台是不是输入了小数。
即使是前台输入的参数不对,那么也应该报的是异常而不是语法错误吧而且我在java语句中验证过,给一个明确的值Stringa="9"还是报错的
解决方案八:
Integer.parseInt(ps);
解决方案九:
Integer.valueOf(ps).intValue()
解决方案十:
引用8楼longtian1213的回复:
Integer.valueOf(ps).intValue()
楼上正解
解决方案十一:
jdk1.4?1.5以上都可以自动转了。
解决方案十二:
newInteger.valueof()返回的是Integer的对象。Integer.parseInt()返回的是一个int的值。newInteger.valueof().intValue();返回的也是一个int的值。这样能够理解了吧,返回值不同。基本数据和引用类型。
解决方案十三:
int和Integer区别
解决方案十四:
引用11楼u014654823的回复:
newInteger.valueof()返回的是Integer的对象。Integer.parseInt()返回的是一个int的值。newInteger.valueof().intValue();返回的也是一个int的值。这样能够理解了吧,返回值不同。基本数据和引用类型。
楼主看上面这个,你应该用Integer.parseInt(),你代码里用错了。
解决方案十五:
intpscore=Integer.parseInt(ps);intqscore=Integer.parseInt(qs);