public static void objPoolTest() {
Integer integer=Integer.valueOf(20);
Integer i1 = 40;//;Java在编译的时候会执行将代码封装成Integer i1=Integer.valueOf(40)
Integer i2 = 40;
Integer i3 = 0;
Integer i4 = new Integer(40);
Integer i5 = new Integer(40);
Integer i6 = new Integer(0);
System.out.println("i1=i2\t" + (i1 == i2)); //true
System.out.println("i1=i2+i3\t" + (i1 == i2 + i3)); //true
System.out.println("i4=i5\t" + (i4 == i5)); //false
System.out.println("i4=i5+i6\t" + (i4 == (i5 + i6)));
System.out.println("=======================");
Double d=30.2;
Double aDouble=Double.valueOf(d);
System.out.println(d==aDouble);
System.out.println("=========大于128测试");
Integer t1=40;
Integer t2=40;
System.out.println(t1==t2); //返回的是false 因为Integer.valueOf函数 在-128-127的时候 直接取里面的static的值如果 不在这个范围会重新 new Interger对象
}
```
2019-01-20Java常量池详解之一道比较蛋疼的面试题
最新推荐文章于 2024-06-11 20:46:21 发布
本文探讨了Java中对象池的使用,重点分析了自动装箱过程中对象池的内部机制,通过实例代码展示了Integer对象在不同情况下的比较结果,揭示了在-128到127范围内Integer对象的复用特性。
2754

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



