Integer int1 = 120, int2 = 120, in3 = 140, int5 = 200;对象
System.out.println(int1 == int2);变量
System.out.println(int3 == int5);数据类型
结果 int1==int2 true方法
int3==int5 false;数据
解释:首先四个都是Integer 对象,基本数据类型和包装类有自动装箱拆箱机制static
在赋值的时候回自动调用 valueof() 方法new
public static Integer valueOf(int i) { return
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
}
若是整形变量的值介于 -128 到 +127 之间 ,若是常量池中有这样的Integer 对象那么就取改对象,不会新建对象