java 装箱和拆箱
- 装箱:就是自动将基本数据类型转换为包装器类型;
- 拆箱:就是自动将包装器类型转换为基本数据类型;
Integer i = 5; // 装箱
int j = i; // 拆箱
- 在装箱的时候自动调用的是 Integer 的 valueOf(int)方法
- 在拆箱的时候自动调用的是 Integer 的 intValue() 方法。
Integer z = 5;
z+=1;
请问该装箱和拆箱流程是?
z+1==自动拆箱 z=z+1; 自动装箱
示例代码
package com.api.Demo07;
public class Test20 {
/**
* 包装类型 实际上是类 new 存放在堆内存中
* 装箱: 自动将基本数据类型转换为包装类型
* 拆箱: 自动将包装类型转换为基本数据类型
*/
public static void main(String[] args) {
//将基本数据类型60 直接能够赋值给 Integer a 包装类
Integer a = 60; //60 是基本数据类型int, Integer a 包装类 ——>装箱:基本数据类型->包装类型
/**
* 装箱底层
* Integer.valueOf(基本数据类型60)
*/
int z = a; //包装类型 赋值给 int 类型——>拆箱:包装类型->基本数据类型
/**
* 拆箱底层
* Integer.intValue()方法获取到 Integer 基本数据类型value
*/
Integer j = 0;
j += 1;
/**
* 装箱和拆箱流程?
* j+=1; j=j+1;
* j(Integer.intValue())+1; //j+1 ->自动拆箱=0+1
* j+1 的结果赋值给j=0+1,j(包装类型)=(0+1)基本数据类型,Integer j = Integer.valueOf(0+1)自动装箱的过程
*
* j+1 自动拆箱 =0+1
* j=0+1 自动装箱
*/
}
}
下一篇文章:字符串中的数据排序