【Java基础】Integer.parseInt(s)与Integer.valueOf(s)的区别

这篇博客探讨了Integer.valueOf和parseInt两个方法在Java中的差异。valueOf方法会利用Integer缓存来提高性能,尤其在[-128, 127]范围内,而parseInt直接返回基本类型,不涉及对象创建。作者提到了一个RocketMQ代码提交的例子,建议在适当情况下使用parseInt进行性能优化。了解这些细节对于编写高效的Java代码至关重要。

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

区别

  • valueOf内部调用的是parseInt
  • valueOf返回的是包装类型,parseInt返回的是基本类型,基本类型不能equals比较数据大小
  • valueOf内部会走Integer的静态内部类IntegerCache的判断逻辑,使用Integer数组存储一些缓存值,在其范围内的值会从缓存中取。最下范围是[-128, 127],最大值可以通过jvm参数值进行自定义配置,java.lang.Integer.IntegerCache.high但是不能小于127

应用实例-代码优化
RocketMQ的代码提交里,有人就通过将valueOf改成parseInt,作为一次commit的内容,我们在写代码的时候也可以注意一下。
rocketmq的代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值