java.lang.NumberFormatException异常解决方案详解
前言:
在做后台时用的jsp开发,在页面向controller传参时用String接收的参数,但是数据库实体中jies接收该参数时是int类型,做了一下强制转换,但是没有判断去空格,结果页面加载时就报500错误了。
错误截图:
在报错后注意分析报错信息,如上图提示在ShopController.java 的92行出错了,那么错误就很容易定位了,去看那里的代码。
错误关键字 java.lang.NumberFormatException 这句话明确告诉了我们是数字格式异常,接着后面有 null 提示,这就告诉我们你当前想把 null 转换成数字类型时出错了,这样就很确切了。在传参的时候应该是Integer类型,而我在后台用String类型接收,最后又将String类型给强制转换成Integer类型,在没有值得情况下自然是转不了了,所以就有null值了。
具体是哪个类的哪个方法的哪一行的错误了,看下面错误堆栈,找自己写的第一个类
com.dxz.controller.ShopController.index(ShopController.java:92)
原来是 com.dxz.controller.ShopController类的index方法里的第92行出错了。
这样就定位到了Integer pid=Integer.parseInt(provinceId);具体是 Integer.parseInt(provinceId)时出的错,知道了错误地方就可以相应的解决了
解决这个很简单 ,把参数用Integer类型来接收,避免了转换的问题,问题也就随之解决了。
到此这篇关于java.lang.NumberFormatException异常解决方案详解的文章就介绍到这了,更多相关java.lang.NumberFormatException异常内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
解决Eclipse配置Tomcat出现Cannot create a server using the selected
这篇文章主要介绍了解决Eclipse配置Tomcat出现Cannot create a server using the selected type错误的相关资料,需要的朋友可以参考下2017-02-02详解spring boot使用@Retryable来进行重处理
本篇文章主要介绍了详解spring boot使用@Retryable来进行重处理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-06-06sqlite数据库的介绍与java操作sqlite的实例讲解
今天小编就为大家分享一篇关于sqlite数据库的介绍与java操作sqlite的实例讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-02-02
最新评论