zoukankan      html  css  js  c++  java
  • 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“的判断即可

  • 相关阅读:
    字典树+二叉树
    ##22
    简单代码优雅写
    全排列
    【持续更新】哟!又在写BUG啊!
    大整数加法和大整数乘法
    【框架编程思想】线数筛的高级应用(欧拉12题和欧拉21题)
    【持续更新】 用算法流程实现的代码块们
    记忆化
    资源收集
  • 原文地址:https://www.cnblogs.com/jinhengyu/p/7826287.html
Copyright © 2011-2022 走看看