public static void main(String[] args){ Integer a = new Integer(123);//每次都会创建一个新的对象, 不会触发自动装箱 Integer b = new Integer(123);//每次都会创建一个新的对象, 不会触发自动装箱 System.out.println(a == b); //false Integer c = Integer.valueOf(123); //等价于Integer c = 123; Integer d = Integer.valueOf(123); //等价于Integer d = 123; System.out.println(c == d);//true Integer e = 123; //装箱, 调用valueOf(123) Integer f = 123; //装箱, 调用valueOf(123) System.out.println(e == f);//true Integer g = 200; //装箱,调用valueOf(200), 200超过了缓存池的大小, 会new Integer(200); Integer h = 200; //装箱,调用valueOf(200), 200超过了缓存池的大小, 会new Integer(200); System.out.println(g == h);//false }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
public static void main(String[] args){ Integer a = 1; Integer b = 2; Integer c = 3; Integer d = 3; Integer e = 321; Integer f = 321; Long g = 3L; Long h = 2L; Double i1 = 1.2; Double i2 = 1.2;