You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中用equals替代==比较Integer对象,如何简化代码?

Integer对象比较:无需额外变量用equals替代==的方案

不用额外声明res1、res2这类中间变量,直接对a + b的结果装箱后调用equals方法即可,有两种简洁写法:

写法1:用Integer.valueOf手动装箱

return !Integer.valueOf(a + b).equals(c + d);

写法2:强制类型转换装箱

return !((Integer)(a + b)).equals(c + d);

原理说明

不管a、b、c、d是int基本类型还是Integer对象,a + b都会先自动拆箱为int类型完成计算,之后通过Integer.valueOf或强制转换把结果装箱为Integer对象,再调用equals方法和c + d(自动装箱后的Integer对象)做比较,彻底避开了用==比较Integer对象的坑。

内容的提问来源于stack exchange,提问作者KrishnaJK4567

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 17:01:08