基本数据类型和其包装类
1. Java中的基本数据类型及其包装类
基本数据类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
char | Character |
float | Float |
double | Double |
boolean | Boolean |
2. 为何即存在基本数据类型又存在包装类?
基本数据类型存在的意义:
java一切皆对象,但是我们经常要对基本数据进行简单操作(声明、赋值),这些特别小的变量不值得和对象一样存储在堆中,所以产生基本数据类型,让它直接开辟在栈区上,提高效率。
包装类存在的意义:
包装类也即引用类型,它包含了字段和方法,功能更加丰富。且java中的泛型集合类的形参都是引用类型的,所以包装类可以满足更多地需求。
3. 基本数据类型和包装类的区别
区别 | 基本数据类型 | 包装类 |
---|---|---|
声明 | 直接赋值(成员变量默认值,局部变量不能为空) | new 包装类 |
存储 | 栈区 | 堆区 |
初始值(成员变量) | 整形类:0 ; 字符:空格 ; 浮点类:0.0 ; 布尔:false | null |
转换 | 装箱 (int x) 手动装箱:Integer a = Integer.valueOf(x); Integer a = new Integer(x); 自动装箱:Integer a = x; Integer a = (Integer)x; | 拆箱(Integer x) 手动拆箱:int a = x.intValue(x); 自动拆箱:int a = x; int a = (int)x; |