为什么需要包装类。
- 基本数据类型不能直接参与引用类型的使用或者计算。
- 使用包装类将基本数据类型装换为引用数据类型,可以参与到其他引用类型的使用。
知识回顾:什么是基本数据类型和引用数据类型。
-
基本数据类型
- 整数类型:long,int,short,byte
- 浮点类型: float,double
- 字符类型: char
- 布尔类型: boolean
-
引用数据类型
类, 接口,数组,枚举,注解,字符串
简单说,所有的非基本数据类型都是引用数据类型。 -
区别
储存位置
- 基本数据类型在方法中定义的非全局基本数据类型变量的具体内容是储存在栈中的
- 引用类型变量具体内容都存放在堆区中,栈中存放的是其具体内容所在的内存地址
包装类转换:
public class IntegerDemo1{
public void static main(String[] args){
int d = 100;
Integer i1 = Integer.valueof(d);
}
}
比较。经常出现面试题
int d = 127; Interger i1 = Interger.valueof(d); Interger i2 = Interger.valueof(d); System.out.println(i1==i2); //true
- Integer中有1字节的缓存,如果值在-128~127之间,直接用缓存保存,否则才是对象形式。128为false。
如果想转换String类型,推荐使用Integer.parseInt。valueof效率较低。
String s = "1230000"; int d = Integer.parseInt(s);
- 双引号必须为纯数字。
装箱:将基本数据类型的数值,存放在对应它的包装类中。
拆箱:从包装类对象中,获得这个基本数据类型法的数值 。
JDK1.5,时,java编译器就能自动拆装箱了。
int a = 1; Integer i = a; //装箱 int b = i; //拆箱



