Integer a = 128;
Integer b = 128;
System.out.println(a==b);
Integer c = 1;
Integer d = 1;
System.out.println(c==d);
执行结果:false
true
解释原因:
类似String一样
对于这样直接赋值的Integer 当值的范围在 [-128,127] 时候 会不生成新的对象 直接把缓存中的对对象拿来用 Integer a=128;Integer b=128 这样的话就是false了 可以看看Integer的源代码 里面有实现