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

     

  • 相关阅读:
    Python 元类
    Rsync 基础配置
    linux shell find
    找最大的目录
    云主机的上下行带宽
    关于c3p0 ResourcePoolException: Attempted to use a closed or broken resource pool
    recover_file
    MegaCli 监控raid状态
    influxdb
    在Ubuntu 16.04如何安装Java使用apt-get的
  • 原文地址:https://www.cnblogs.com/baobeiqi-e/p/9884783.html
Copyright © 2011-2022 走看看