装箱与拆箱
Posted springs018
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了装箱与拆箱相关的知识,希望对你有一定的参考价值。
装箱:将基本类型用他们对应的引用类型包装起来
拆箱:将包装类型转换为基本类型
自动拆装箱:
-
Integer i =10; //自动装箱 反编译后代码:integer i = Integer.valueOf(10);
-
int b= i; //自动拆箱 反编译后代码:int b = i.intValue();
- 反编译其他包装类型的赋值可以看到,装箱都是用xxx.vauleOf()方法,拆箱都是用xxxValue()方法
除了赋值之外还有其它场景会自动拆装箱,比如:
1.往集合类加入基本类型
List<Integer> list = new ArrayList<>(); for (int i = 0;i < 10;i++) { list.add(i); }
2.包装类型和基本类型比较
Integer a = 10; if(a == 10) { System.out.println("1"); }
3.包装类型运算
Integer a = 10; System.out.println(a+1);
boolean flag = true;
int b = flag ? a : 1;
4.函数参数和返回值
public int getNum(Integer a) { return a; } public Integer getNum1(int a) { return a; }
以上是关于装箱与拆箱的主要内容,如果未能解决你的问题,请参考以下文章