public class IntegerTest { public static void main(String args[]){ /** * int == 比较大小 */ int p1 = 100; int p2 = 100; System.out.println(p1==p2);//true /** * integer == 比较地址 */ Integer p3 = new Integer(100); Integer p4 = new Integer(100); System.out.println(p3==p4);//false /** * integer int == 会先进行 装包 */ Integer p5 = 10000; int p6 = 10000; System.out.println(p5==p6);//true /** * Integer在 直接赋值时(如:Integer i= 100),实际上是调用Integer.valueOf(), * 而Integer.valueOf() 内部会对(-127~128)范围内的数据做缓存,范围内的地址相同,地址外不同 * 所以 * p7==p8 为 true * p9==p10 为 false */ Integer p7 = 100; Integer p8 = 100; System.out.println(p7==p8);// true Integer p9 = 10000; Integer p10 = 10000; System.out.println(p9==p10);//false } }
转载于:https://www.cnblogs.com/the-wang/p/10436067.html