看代码
Integer t1=127;
Integer t2=127;
System.out.println(t1==t2);
会输出true。也就是说t1和t2是同一个引用的别名,为什么会这样呢
自动装箱的对象缓存在内存中,当试图通过自动装箱产生另一个同值的对象时,不会生成新的对象
只对如下数据类型:
boolean
byte
-128~127之间的short和int型
\u0000~\u007F之间的char型
另:string类型也会这样。