码迷,mamicode.com
首页 > 其他好文 > 详细

装箱与拆箱

时间:2020-03-14 11:09:26      阅读:63      评论:0      收藏:0      [点我收藏+]

标签:拆箱   value   引用类型   div   ret   out   sys   numbers   基本类型   

装箱:将基本类型用他们对应的引用类型包装起来

拆箱:将包装类型转换为基本类型

自动拆装箱:

  1. Integer i =10;  //自动装箱  反编译后代码:integer i = Integer.valueOf(10);
  2. int b= i;     //自动拆箱 反编译后代码:int b = i.intValue(); 
  3. 反编译其他包装类型的赋值可以看到,装箱都是用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;
}

装箱与拆箱

标签:拆箱   value   引用类型   div   ret   out   sys   numbers   基本类型   

原文地址:https://www.cnblogs.com/springs018/p/12490647.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!