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

     

  • 相关阅读:
    Vue 异步组件按需加载
    Net core 连接 Minio 出现 Access Denied 错误
    vue 脚手架打包 生成时间戳版本号
    vue tab 切换动画
    想尽办法不出错的语言太可怕了
    .NET Core:处理全局异常
    C#获取当前路径的方法
    [C#]解决生成的缩略图模糊的问题
    C# 正则表达式 —— 中文/英文空格(全角/半角空格)处理
    用C# 7.0的switch...case模式匹配取代一堆if语句
  • 原文地址:https://www.cnblogs.com/baobeiqi-e/p/9884783.html
Copyright © 2011-2022 走看看