学习
实践
活动
工具
TVP
写文章

Java Integer的一些注意事项

先来看一段代码:

猜猜看,输出的结果是啥?

--------------------------------------

--------------------------------------

输出结果 : true

false

想想为啥128时是false?Integer不是自动拆箱吗?

可以在源码找到答案

publicstaticInteger valueOf(inti) {

if(i >= IntegerCache.low && i

returnIntegerCache.cache[i + (-IntegerCache.low)];

returnnewInteger(i);

}

IntegerCache.low = -128;

IntegerCache.high =127;

具体分析知乎上有答案:https://www.zhihu.com/question/47117569?sort=created

最后要注意的是,如果是用Integer来保存两个数字,然后数字大于127的话,不要直接拿Integer的参数来==做比较。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180626G0UWXG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券