什么是包装类型?
包装类就是基本数据类型的八种
基本类型 | 大小 | 包装类型 |
boolean | / | Boolean |
char | 16bit | Character |
byte | 8bit | Byte |
short | 16bit | Short |
int | 32bit | Integer |
long | 64bit | Long |
float | 32bit | Float |
double | 64bit | Double |
为何要使用包装类型?
- 基本类型不是类,不能new出来,因此不具备面对对象的功能,无法调用方法。
- 在一个类或接口或方法中定义一个泛型的数据类型,当使用这个类、接口、方法时,要把泛型定义成具体的基本数据类型就必须使用基本数据类型对应的包装类进行定义。
基本类型与包装类型比较?
- 基本类型不用new,而包装类需要new来在堆中分配内存空间。
- 包装类的初始化值为null,基本数据类型例如int的初始值为0。
- 包装类型是将对象放在堆中,而基本类型是直接将变量值存储在栈中。
如何使用包装类型?
public class Demo {
public static void main(String[] args) {
//基本类型 --> 包装类型
int i = 1;
//在JDK1.5之后引入了自动装箱和拆箱的机制,包装类型与基本类型之间的转换更加快捷。
Integer integer1 = i; //自动装箱
Integer integer2 = new Integer(i);
//包装类型 --> 基本类型
Integer integer3 = 2;
int j = integer3.intValue();
int k = integer3; //自动拆箱
//重要的方法,字符串的转换
String string = "123456";
int num = Integer.parseInt(string);
}
}
注意
基本数据类型的变量只占用栈内存,而包装类型的对象需要占用栈内存和堆内存。基本类型占用空间少,更方便。