Integer和Double都是封装类
1.Integer
Integer i1=Integer.valueOf(100);
Integer i2=Integer.valueOf(100);
Integer i3=Integer.valueOf(200);
Integer i4=Integer.valueOf(200);
System.out.println(i1==i2); //true
System.out.println(i3==i4); //false
i1和i2都是指向同一个地址(引用),看一下valueOf的源码
@HotSpotIntrinsicCandidate
public static Integer valueOf(int i) {
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i +