首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

类型转换?解决方法

2012-08-08 
类型转换??后台报错:loginMode[object Object]2012-3-9 15:02:46 org.apache.catalina.core.StandardW

类型转换??
后台报错:
==loginMode==[object Object]
2012-3-9 15:02:46 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet default threw exception
java.lang.NumberFormatException: For input string: "[object Object]"


代码:
//Long loginMode = Long.parseLong(request.getParameter("loginMode"));
String loginMode = request.getParameter("loginMode");

System.out.println("==loginMode=="+loginMode);

[解决办法]
String loginMode = (String)request.getParameter("loginMode");

??

Long loginMode = Long.parseLong((String)request.getParameter("loginMode"));


[解决办法]
String loginMode = (String)request.getParameter("loginMode");

先转成STRING啊
request.getParameter();能传递对象吗?
[解决办法]
先转成String然后再做后续的类型转换吧
[解决办法]
哈哈。。一看就知道loginMode传的是一个javascript数组,然后调用Long.parseLong就报错了。。
要不你试试System.out.println(request.getParameter("loginMode")),输出的肯定是"[object Object]"。


[解决办法]
你的错误有两种可能
1、
request.getParameter("loginMode")这个返回来的是一个Object类型的对象
而你采用这样的方式去转换的话那么就错误了!
//Long loginMode = Long.parseLong(request.getParameter("loginMode"));
这样的类型转换是将字符串的形式转成long类型的但是字符串必须是“125”这样的数字类型,如果不是这样的数字类型那么就错误了!
2、
request.getParameter("loginMode")这个返回来的是一个Object类型的对象
这个对象中的类型是“a123”这样的类型,你在转换的时候就错误了,就是这个异常信息
java.lang.NumberFormatException: For input string: "[object Object]"

——————————————————————————————————————
如果用第一种方法去解决的话可以这样写
Long loginMode = Long.parseLong((request.getParameter("loginMode")).toString());
这样就解决了问题了

热点排行