报错:lang.NumberFormatException

开课吧开课吧锤锤2021-04-06 11:43

    在学习java和算法过程中,需要使用java的编译和执行命令。但是有时总是会出现各种报错,今天开课吧广场小编整理了开课吧教研老师提供的文章,希望能为遇到此问题的小伙伴帮助发现错误原因,找到对应方法解决问题!

    前言:

    在做后台时用的jsp开发,在页面向controller传参时用String接收的参数,但是数据库实体中jies接收该参数时是int类型,做了一下强制转换,但是没有判断去空格,结果页面加载时就报500错误了。

    错误截图:

Java

    在报错后注意分析报错信息,如上图提示在ShopController.java的92行出错了,那么错误就很容易定位了,去看那里的代码。

Java

    错误关键字 java.lang.NumberFormatException 这句话明确告诉了我们是数字格式异常,接着后面有null提示,这就告诉我们你当前想把null 转换成数字类型时出错了,这样就很确切了。在传参的时候应该是Integer类型,而我在后台用String类型接收,最后又将String类型给强制转换成Integer类型,在没有值得情况下自然是转不了了,所以就有null值了。

    具体是哪个类的哪个方法的哪一行的错误了,看下面错误堆栈,找自己写的第一个类

    com.dxz.controller.ShopController.index(ShopController.java:92)

    原来是 com.dxz.controller.ShopController类的index方法里的第92行出错了。

    这样就定位到了Integerpid=Integer.parseInt(provinceId);具体是Integer.parseInt(provinceId)时出的错,知道了错误地方就可以相应的解决了

    解决这个很简单,把参数用Integer类型来接收,避免了转换的问题,问题也就随之解决了。

    以上开课吧小编今日整理的“关于反射中的java.lang.IllegalAccessException”Java报错相关一文了,希望为遇到相关报错问题的朋友提供参考,更多Java报错内容尽在开课吧广场Java问答频道!

有用
分享
全部评论快来秀出你的观点
登录 后可发表观点…
发表
暂无评论,快来抢沙发!
高并发编程训练营