Java中Integer初始化

2021-11-19

常用的Integer初始化方式有:

        Integer a = 10;
        Integer b = Integer.valueOf(10);
        Integer c = Integer.valueOf("10");
//        Integer d = new Integer(10);废弃
        //a==b,a==c

直接a==10等效于Integer.valueOf(10);

    @IntrinsicCandidate
    public static Integer valueOf(int i) {
        if (i >= IntegerCache.low && i <= IntegerCache.high)
            return IntegerCache.cache[i + (-IntegerCache.low)];
        return new Integer(i);
    }
    //low,-128,high 127

如上,当值在-128到127时,返回的是同一个对象。所以比较数字要用equals方法。