引起异常的主要原因如下:
1.传参字段和映射字段不一致
2.传参类型和映射类型不一致
3.时间类型转换时间戳长度不一致
4.参数长度和数据库不一致

今天在编写代码的时候发现了这样一个问题,平时在将String的字符型数据转化成Iint类型数据的时候,习惯性用的是Integer类中的Integer.parseInt(“”);方法,但是实际使用的时候却总是报错。
java.lang.NumberFormatException: For input string: “”
报错信息大同小异,大部分都是在上面的语句的后面显示出具体报错的字符串是哪一个。
我们在用转换方法的时候,一定要特别注意传参的格式!!
传入的字符串不能有空格,有空格的话就会报错,要解决空格的话很简单
在字符串后面通过.trim()方法一个就好了,这个方法是用来去除字符串前后的空字符串的,用了这个方法的话,就可以确保我们传入的字符串前后不会出现空字符串!但是!!!如果是字符串中间有空字符串的话,这个方法就不能解决!!
在排查完字符串是否有空格的问题后,我再一次尝试运行,发现还是报相同的错误!
这里就会有一个小问题是我们非常容易忽视的!!!
int类型的最大长度是多少!!
int max=2147483647 int min=-2147483648
由上可知最大值为2747493647一旦我们字符串转成整数类型的大小超过这个值,idea就会报错!!!!
所以,这个时候我们就不能用int来接收了,而是应该用long来接收,long的最大值为9223372036854775807,这个值基本涵盖我们日常中所会解除到的大部分的值。
在平常的编码工作中!!小的细节不能忽视,不然就很有可能遇上这种情况,报错位置知道,但是没办法解决,这种是最气的!!
以此为鉴!!!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐