区别
- valueOf内部调用的是parseInt
- valueOf返回的是包装类型,parseInt返回的是基本类型,基本类型不能equals比较数据大小
- valueOf内部会走Integer的静态内部类IntegerCache的判断逻辑,使用Integer数组存储一些缓存值,在其范围内的值会从缓存中取。最下范围是[-128, 127],最大值可以通过jvm参数值进行自定义配置,java.lang.Integer.IntegerCache.high但是不能小于127
应用实例-代码优化
RocketMQ的代码提交里,有人就通过将valueOf改成parseInt,作为一次commit的内容,我们在写代码的时候也可以注意一下。