java面经:自动装拆箱

自动装拆箱原理:

        Integer integer=1; //装箱
        int i=integer; //拆箱
反编译
         Integer integer=Integer.valueOf(1);
        int i=integer.intValue();

自动装拆箱场景:

放入集合类:
List<Integer> li = new ArrayList<>();
    for (int i = 1; i < 50; i ++){
        li.add(i);
    }

包装类与基本类型进行大小比较:
  Integer a = 1;
    System.out.println(a == 1 ? "等于" : "不等于");

包装类进行运算:
    Integer i = 10;
    Integer j = 20;
    System.out.println(i+j);

三目运算符,当第二,第三位操作数分别为基本类型和对象时,其中的对象就会拆箱为基本类型进行操作,可能出现空指针异常。
 boolean flag = true;
    Integer i = null;
    int j = 1;
    int k = flag ? i : j;

自动装拆箱与缓存:

在 Integer 的操作上引入了一个新功能来节省内存和提高性能。整型对象通过使用相同的对象引用实现了缓存和重用。范围-128 至 127 之间
         Integer integer1 = 3;
        Integer integer2 = 3;
        sout(integer1 == integer2)
posted @ 2022-07-21 20:09  无极是一种信仰  阅读(33)  评论(0)    收藏  举报