本篇文章为你整理了Integer使用==比较的问题()的详细内容,包含有 Integer使用==比较的问题,希望能帮助你了解 Integer使用==比较的问题。
public static Integer valueOf(int i) {
if (i = IntegerCache.low i = IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
int 和 int 比较,比较的是字面量的值,使用==始终是true
int 和 integer 比较,由于 integer 会发生自动拆箱,也是true
integer 和 integer 比较:
若两个都是new出来的对象,则始终是false
若一个是new,一个是非new(包括字面量 Integer.valueOf( )等),那么一个是自动装箱的对象,一个是new出来的对象,始终flase
两个都不是new出来的,都会发生自动装箱,就需要看值的范围,在-128-127的范围内,会获取IntegerCache里的对象,这样就是true,范围外的还是false
以上就是Integer使用==比较的问题()的详细内容,想要了解更多 Integer使用==比较的问题的内容,请持续关注盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。