Integer 包装类面试

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 对象那么就取改对象,不会新建对象 

相关文章
相关标签/搜索