一:包装类的比较
1.
Integer a = 1234;
Integer b = 1234;
System.out.println(a==b); //false 它们是两个不同的对象
System.out.println(a.equals(b)); //true 它们的内容相同
2.缓存[-128,127]之间的数字
Integer a = -128;
integer b = -128;
System.out.println(c==d); //true
//缓存[-128,127]之间的数字。实际就是系统初始的时候,创建了[-128,127]之间的一个缓存数组
//当我们调用valueOf()这个方法时,首先检查是否在[-128,127]之间,如在在这个范围则直接从缓存数组中拿出来已经建好的对象
//如果不在这个范围 则创建新的包装类对象。
System.out.println(c.equals(d)); //true
本文深入探讨了Java中包装类的比较方式,解释了使用'=='和equals()的区别,并详细解析了包装类在[-128,127]范围内数值对象的缓存机制,帮助读者理解何时会复用对象。

被折叠的 条评论
为什么被折叠?



