id=new String(id.getBytes("ISO-8859-1"),"gb2312"); 
此处注释掉看看。

解决方案 »

  1.   

    怎么还是lz啊 我不是给你贴过代码了吗?你先判断一下然后再用
    Date  date=new Date(Integer.parseInt(year),Integer.parseInt(month),Integer.parseInt(day)); 
    例如:
    Date  date= new Date();
    if(!"".equals(year)&&!"".equals(month)&&!"".equals(day)){
      date=new Date(Integer.parseInt(year),Integer.parseInt(month),Integer.parseInt(day)); 
    }就好啦
      

  2.   

    kokobox:感谢您对问题的耐心解答,你给的处理方法我试过,虽然能避免异常的产生,但并不能达到我的程序逻辑要求,最终的id,year,month,day取不得我手动设置的值,根源还是在于id,year,month,day还是为空,通过判断可避免异常,但只能取到默认的值,这个值并不是我所要的。所以才导致我把问题还是贴出来了!
      

  3.   

    id如果是"abc",那楼主long lid=new Long(Long.parseLong(id));想得到什么结果呢?方法很简单,不管是在输入的地方也好,还是转换的地方也好,都需要判断转换前的字符串是否是合法的数字串
      

  4.   

    无效输入参数For input string 郁闷
      

  5.   

    呵呵,我刚才也出现这样的问题,后来发现是jsp页面的问题,你看看是不是
    提示:先遍历再取值
      

  6.   

    long lid=new Long(Long.parseLong(id)); 你这一句传过来的id是空 造成的了..空转化成long,出现转化异常.加上if(id != null||!id.equals(""){}