public class Test2 {
public static void main(String[] args) {
int i=128;
Integer i2=128;
Integer i3=new Integer(128);
System.out.println("i==i2为"+(i==i2));
System.out.println("i==i3为"+(i==i3));
System.out.println("i2==i3为"+(i2==i3));
//i==i2为true,i==i3为true,i2==i3为false,Integer 会自动拆箱为int,所以为true
Integer i5=127;//java在编译的时候,被翻译成-> Integer i5 = Integer.valueOf(127);
Integer i6=127;
System.out.println("i5==i6为"+(i5==i6));//true
Integer i7=128;
Integer i8=128;
System.out.println("i7==i8为"+(i7==i8));
/*对于-128到127之间的数,会进行缓存,Integer i5 = 127时,会将127进行缓存,
下次再写Integer i6 = 127时,就会直接从缓存中取,就不会new了。所以22行的结果为true,而25行为false。 */
}
}
Integer 和 int(扩展)
最新推荐文章于 2023-04-07 10:37:30 发布