package com.sf._01_包装类;

public class Test {

    public static void main(String[] args) {
        /**
         * 包装类装箱和拆箱
         * int -> Integer
         * 拆箱
         * Integer -> int
         *
         * 装箱:
         * 第一种  Integer i = new Integer(int)
         * 第二种  Integer i1 = Integer.valueOf(int)
         */
        Integer i1 = new Integer(18);
        Integer i3 = new Integer(18);
        Integer i2 = Integer.valueOf(10);
        Integer i4 = Integer.valueOf(10);
        System.out.println(i1);
        System.out.println(i2);

        System.out.println(i1 == i3);
        System.out.println(i2 == i4);

        /**
         * 这两种装箱方式有什么区别
         * 如果是用valueOf 方式他会用常量池有缓存效果
         * -128 - 127
         *
         * 自动装箱
         * Integer i5 = 10;
         * 他底层使用是valueOf
         */
        Integer i5  = 18;
        Integer i6  = 18;
        System.out.println(i5 == i6);

        /**
         * 拆箱
         * Integer  -> int
         * integer.intValue();
         */
        Integer i7 = 20;
        int i8 = i7.intValue();
        System.out.println(i8);

        /**
         * 其他的包装类和Integer 操作是一模一样
         * 把boolean 装箱成Boolean
         */
        Boolean flag = true;




    }
}
