For input string: "null"

java.lang.NumberFormatException: For input string: "null"

 

在开发中你是否遇到过这样的问题,不管请求到的值是什么都能进入不为null或”“的判断中,如下例:

Stringtemp=req.getParameter("status");//任务状态

int status= 0;//任务状态
   if(temp!=null&&!"".equals(temp))
   {
      status=Integer.parseInt(temp);
   }
   json.put("status",status);

运行时temp总能进入if条件判断,并且你会得到错误提示如下:

java.lang.NumberFormatException: For inputstring: "null"
       atjava.lang.NumberFormatException.forInputString(NumberFormatException.
java:48)
       at java.lang.Integer.parseInt(Integer.java:447)
       at java.lang.Integer.parseInt(Integer.java:497)
       atcom.runqianapp.workflow.servlet.WorkShowServlet.getJson(WorkShowServl
et.java:102)
       atcom.runqianapp.workflow.servlet.WorkShowServlet.doPost(WorkShowServle
t.java:49)
       atjavax.servlet.http.HttpServlet.service(HttpServlet.java:709)
       atjavax.servlet.http.HttpServlet.service(HttpServlet.java:802)
       atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:237)
       atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:157)

这是为什么呢?我再着困扰了好长时间才找到原因,其实是错误的理解了提示 Forinput string: "null"
这句话的意思不是输入的是空值,而是说你输入的事String类型的字符串”null“

明白为什么错了就好解决了,解决方法如下:

Stringtemp=req.getParameter("status");//任务状态

int status= 0;//任务状态
   if(temp!=null&& !"".equals(temp) &&!"null".equals(temp))
   {
    status=Integer.parseInt(temp);
   }
   json.put("status",status);

只需要加上一条不为字符串”null“的判断即可

时间: 2024-10-07 03:23:57

For input string: "null"的相关文章

NumberFormatException: For input string: "null"

日志: [INFO-2016/08/04/16/:21/:25]ProjectCommonFormController.(78) - 审批[同意]入参-[string]commonFormDtoStr ===={"commonForm":{"id":"1101115577946385"},"taskId":"322055","wfInstanceId":"11011155778

java.lang.NumberFormatException: For input string: "undefined"

在将字符串转换为数字时导致此错误,解决此问题的思路:1.添加Try catch语句,2.判断字符串是否为数字,将介绍java中判断字符串是否为数字的方法的几种方法. 完整错误信息: java.lang.NumberFormatException: For input string: "undefined" at java.lang.NumberFormatException.forInputString(Unknown Source) at java.lang.Integer.pars

SimpleDateFormat高并发下异常java.lang.NumberFormatException: For input string: ""

1. 原因 SimpleDateFormat(下面简称sdf)类内部有一个Calendar对象引用,它用来储存和这个sdf相关的日期信息,例如sdf.parse(dateStr), sdf.format(date) 诸如此类的方法参数传入的日期相关String, Date等等, 都是交友Calendar引用来储存的.这样就会导致一个问题,如果你的sdf是个static的, 那么多个thread 之间就会共享这个sdf, 同时也是共享这个Calendar引用, java.lang.NumberFo

XeTeX: “Failed to convert input string to UTF16″

http://workbench.haefelinger.it/archives/148 XeTeX allows me to hack away directly in Unicode. But what’s even more cool is that I can just use the fonts installed on my system without diving into some of TeX most darkest corners. However, when I com

java.lang.NumberFormatException: For input string:""

今天写了个java的小程序在运行的时候抛出下面的异常:java.lang.NumberFormatException: For input string: "" .定位到源程序中出错的地方: String[] cols = key.toString().split("    ");   return Integer.parseInt(cols[0]) % numPartitions; 通过查询java API 以及百度,了解到抛NumberFormatExcepti

java.lang.NumberFormatException: For input string: "title"异常

java.lang.NumberFormatException: For input string: "title" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:492) at java.lang.Integer.parseInt(Integer.java:527) at javax.

Caused by: java.lang.NumberFormatException: For input string: ""

1.错误描述 java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Long.parseLong(Long.java:453) at java.lang.Long.parseLong(Long.java:483) at org.springfram

iconv() : Detected an illegal character in input string 报错解决(抄的)

HP传给JS字符串用ecsape转换加到url里,又用PHP接收,再用网上找的unscape函数转换一下,这样得到的字符串是UTF-8的,但我需要的是GB2312,于是用iconv转换 开始是这样用的 $str = iconv('UTF-8', 'GB2312', unescape(isset($_GET['str'])? $_GET['str']:'')); 上线后报一堆这样的错:iconv() : Detected an illegal character in input string 考

java.lang.NumberFormatException: For input string:"filesId"

做项目时候,页面获取出现了这个问题.找了好久一直以为是我字段或者是数据库字段问题导致引起的. 最后才发现是 struts2中jsp我写错了一个参数,一直导致报错.后来改了就好了. 当大家遇到这个问题的时候,记得先看看是不是这个问题,不是的话可以再debug分析下. 对jsp更改的地方,以后要多多注意.自己不要再犯这种低级错误 就是因为这个 变量写错了,导致他找不到塞入数据的泪,所以,下面的一些列 ${freemarkerdetailList.xxxxx}都报 java.lang.NumberFo