包装类自动拆箱的Bug

如图:

近日在测试的时候遇到在LoanInstallmentBorrow不为空的情况下出现空指针异常的情况,经过反复验证,发现是因为loanProductId这个字段使用的是Long的包装类的原因.具体分析就是:这个字段在遍历的是null值,包装类自动拆箱的时候调用了其longValue方法,造成空指针异常.

今天看阿里巴巴代码规范发现包装类的比较是必须要使用equals完成的,因为这是对象之间的比较.虽然Integer有个常量池-128~127,赋值会在IntegerCache.cache中产生,可以直接使用==进行比较.但是超过这个范围都会以引用类型在堆内存中创建,对象没有办法使用==进行比较,所以使用equals比较是合适,不会出现这个问题.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值