如题.
本人想做个模糊搜索,JSP中一个是输入字符串的,一个是输入数字的,但数字输入框中我是以空提交的,结果SERVLET报错了,如下:
java.lang.NumberFormatException: For input string: ""
java.lang.NumberFormatException.forInputString(Unknown Source)
java.lang.Integer.parseInt(Unknown Source)
java.lang.Integer.parseInt(Unknown Source)
DB.DB.pinyinLike(DB.java:208)
servlet.KuLikeAction.doGet(KuLikeAction.java:58)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

SERVLET中处理如下:
       if(bianhao==null) {  bianhao=" ";  }
最后在数据库中还得把之转换成int型比较,但不知接受到的到底是NULL还是" ",还有就是在传值的时候NULL和" "哪个可以正常传值

解决方案 »

  1.   

    都可以正常传递 null代表对象为空,""代表是一个对象,但是对象中包含0个字符可以这样写
    if(bianhao == null){}else if(bianhao.length() == 0){}else{}
      

  2.   

    null 和 ""都不能类型转化的吧 
    用之前先做个判断么 
    if(bianhao == null && !bianhao.equals("")){ }else{ }
      

  3.   

    if(bianhao != null && !bianhao.equals("")){  }else{  }
    刚才写错
      

  4.   

    如果确实有这个名称的变量从request传过来,如果没有填,就是"",即空字符串。
      

  5.   

    null 是 赋值的对象 为空,“”是表示一个 空串;
     if(bianhao==null) {  bianhao=" ";  } 
    这里报错的话,可能是当 bianhao为null时候,bianhao类型是不是 int类型的,而一个“”则是字符串类型,你觉得
    把 一个字符串赋值给一个int类型能不出错吗?
    所以你需要 查看下bianhao的类型。真想把“”赋值给bianhao 的话,先把bianhao转换成字符串类型。
    String bianhao=Integer.toString(bianhao);
      

  6.   

    null是说这个对象没有引用对象,怎么能转化呢,你试图去拿一个不存在的东西,可以么?
    ""是空也是不可以的,编译器会报错
    Exception in thread "main" java.lang.NumberFormatException: For input string: ""        at java.lang.NumberFormatException.forInputString(Unknown Source)
            at java.lang.Integer.parseInt(Unknown Source)
            at java.lang.Integer.parseInt(Unknown Source)
    知道了吧
      

  7.   

    字符串null和“”都不能转换成int型,只有把这种情况分出来特殊处理 
    if(biaohao == null||biaohao.equals("")){......}else{......}