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

  • 相关阅读:
    nginx反向代理配置
    在页面完成读取EXCEL
    把List<string>转为DataTable
    临时表
    在aspx页动态加载ascx页面内容,给GridView控件绑定数据
    Content 控件
    if exists和if not exists关键字用法
    创建试图
    MyGeneration代码生成工具
    SQL Server 触发器触发器
  • 原文地址:https://www.cnblogs.com/jinhengyu/p/7826287.html
Copyright © 2011-2022 走看看