使用Integer.parseInt()需要注意的问题分析

本文分析了使用Integer.parseInt()可能出现的两个问题:当传入参数为null和空字符串时,会导致运行异常。针对这些问题,提出了在使用前进行判断的解决策略,以避免异常发生。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题代码如下

 if (Integer.parseInt(total) <= 30) {

 }

问题一:

错误信息:

04-20 09:58:31.017: E/AndroidRuntime(12436): java.lang.NumberFormatException: Invalid int: "null"
04-20 09:58:31.017: E/AndroidRuntime(12436):    at java.lang.Integer.invalidInt(Integer.java:138)
04-20 09:58:31.017: E/AndroidRuntime(12436):    at java.lang.Integer.parseInt(Integer.java:358)
04-20 09:58:31.017: E/AndroidRuntime(12436):    at java.lang.Integer.parseInt(Integer.java:334)

问题分析:
因为在上面代码中total为null,所以会报以上的异常。

问题二:

错误信息:

04-20 10:04:33.843: E/AndroidRuntime(17079): java.lang.NumberFormatException: Invalid int: ""
04-20 10:04:33.843: E/AndroidRuntime(17079):    at java.lang.Integer.invalidInt(Integer.java:138)
04-20 10:04:33.843: E/AndroidRuntime(17079):    at java.lang.Integer.parseInt(Integer.java:358)
04-20 10:04:33.843: E/AndroidRuntime(17079):    at java.lang.Integer.parseInt(Integer.java:334)

问题分析:
因为在上面代码中total为“”,所以会报以上的异常。

解决方法:

在使用时做个判断即可避免出现此异常。

 if (!TextUtils.isEmpty(total) && TextUtilInteger.parseInt(total) <= 30) {

 }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值