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“的判断即可

  • 相关阅读:
    PAT Basic 1077 互评成绩计算 (20 分)
    PAT Basic 1055 集体照 (25 分)
    PAT Basic 1059 C语言竞赛 (20 分)
    PAT Basic 1072 开学寄语 (20 分)
    PAT Basic 1049 数列的片段和 (20 分)
    蓝桥杯BASIC-13 数列排序
    蓝桥杯入门——3.序列求和
    蓝桥杯入门——2.圆的面积
    蓝桥杯入门——1.Fibonacci数列
    树的总结(遍历,BST,AVL原型,堆,练习题)
  • 原文地址:https://www.cnblogs.com/jinhengyu/p/7826287.html
Copyright © 2011-2022 走看看