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
    }
posted @ 2022-04-06 10:55  shaun23  阅读(237)  评论(0)    收藏  举报