Integer
Integer在执行valueOf()自动装箱的过程中,如果int数值在-128到127之间,则直接从cache[]数组中取值,不需要new新的Integer对象,如果不在这个范围则需要new新的Integer对象
源码:
public static Integer valueOf(int i) {
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
}
例题:
public static void main(String[] args) {
Integer i1 = 100;
Integer i2 = 100;
Integer i3 = 200;
Integer i4 = 200;
System.out.println(i1 == i2); //true
System.out.println(i3 == i4); //false
}

浙公网安备 33010602011771号