在JVM 中会自动维护基本数据类型的常量池;常量池也就是基本数据类型的取值范围
int在常量池中的范围是-128到127;在自动装箱的过程中就会取常量池中的数值127
因此 a == b 的结果为 True
当Integer c = 128时,128已经超出了常量池的取值范围;在自动装箱过程中就会 new 128;
而new的128,虽然值相同;但是它们的地址不同
因此 c == d 的结果为 false。
在JVM 中会自动维护基本数据类型的常量池;常量池也就是基本数据类型的取值范围
int在常量池中的范围是-128到127;在自动装箱的过程中就会取常量池中的数值127
因此 a == b 的结果为 True
当Integer c = 128时,128已经超出了常量池的取值范围;在自动装箱过程中就会 new 128;
而new的128,虽然值相同;但是它们的地址不同
因此 c == d 的结果为 false。