Interger等包装类的比较

2019-09-04 07:18:30来源:博客园 阅读 ()

Interger等包装类的比较

Integer a = 1;

integer b = 1;

integer c = 500;

integer d=500;

System.out.print(a==b);

System.out.print(c==d);

上面两个输出结果分别为true和false

 

Integer类型中设置有缓存,范围为【-128,127】,当对象在这个范围内,会直接返回缓存中的引用,所以只要是范围内的integer对象就是相同的。而超出范围的Integet对象每次都是新创建出来的,所以不同。

此外,

当包装类和基本数据类型“==”比较时,包装类会自动拆箱成基本数据类型;

两个包装类进行“equals”比较时,首先会用equals方法判断其类型,如果类型相同,再继续比较值,如果值相同,则结果为true;

当包装类调用equals方法,但是参数是基本类型时,会将基本类型自动装箱成包装类型


原文链接:https://www.cnblogs.com/fyhdblog/p/11453043.html
如有疑问请与原作者联系

标签:Q对象方法直接缓存数据

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Struts2 Action的3种创建方式

下一篇:Java反射与动态代理