Integer自动装箱/拆箱

2019-11-02  本文已影响0人  我不懂我不懂a
//        自动装箱 Integer a = Integer.valueOf(1);
//        public static Integer valueOf(int i) {
//            if (i >= IntegerCache.low && i <= IntegerCache.high)
//                return IntegerCache.cache[i + (-IntegerCache.low)];
//            return new Integer(i);
//        }
//        保存的值在-128 127之间,则从缓存中取
        Integer a = 1;
        Integer b = 2;
        Integer c = 3;
        Integer d = 3;
        Integer e = 321;
        Integer f = 321;
        Long g = 3L;
        //true
        System.out.println(c == d);
        //false
        System.out.println(e == f);
        //包装类的 “==”运算在不遇到算术运算的情况下不会自动拆箱
        //false 正确:true
        System.out.println(c == (a + b));
        //true
        System.out.println(c.equals(a + b));
        //false 正确:true
        System.out.println(g == (a + b));
        //false
        System.out.println(g.equals(a + b));
上一篇 下一篇

猜你喜欢

热点阅读