JAVA变量类型转换问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 11:30:27
int age=Integer.parseInt(request.getParameter("age"));
这句话有错吗,求高手指点
MyEclipse编译没错,运行后提示这行有错误
if(null==age||"".equals(age))
{
request.getSession().setAttribute("err", "年龄不能为空!");
response.sendRedirect("../insert.jsp");
}
我就是什么都没输入,想让他显示出年龄不能为空,可是这样写不对呢,出现错误

代码本身是没错的,但是在转型的时候,request.getParameter("age")这个值不能为空,否则转换的时候就会报错。
你将程序改为:
if(null==request.getParameter("age") || "".equals(request.getParameter("age"))){
request.getSession().setAttribute("err", "年龄不能为空!");
response.sendRedirect("../insert.jsp");
}
else{
int age=Integer.parseInt(request.getParameter("age"));
}
这样就没错了,试试吧!

看上去没错嘛

没错的

如果 request.getParameter("age") 不为null的话
这段代码没错!

request.getParameter("age")

很显然,如果有错肯定是这个获取的值不能被转化,一种情况是null,一种情况是 非数字的字符串,

你的情况很可能是null,你可以打印一下看看。
我觉得为了程序的健壮性应该判断下是否为空

文本框默认的"",
try{
int age=Integer.parseInt(request.getParameter("age"));
}catch(Exception e){
request.getSession().setAttribute("err", "年龄不能为空!");
response.sendRedirect("../insert.jsp");
ret