Java支持8种基本的的数据类型,byte short int long float double char boolean
下表列出的是他们各自对应的包装类以及所占字节数
类型 | 包装类 | 字节数 |
---|---|---|
byte | Byte | 1 |
short | Short | 2 |
int | Integer | 4 |
long | Long | 8 |
float | Float | 4 |
double | Double | 8 |
char | Character | 2 |
boolean | Boolean | 1 |
注:boolean类型理论上只需占1位,但实际存储中占用1个字节
应用过程中有时我们需要将基本数据类型转换为他们对应的包装类的对象来使用,例如在使用HashMap时我们就需要将相应的数据转换为类的对象,JDK1.5 之前这些工作都必须由我们自己来完成,JDK1.5 之后Java提供了自动拆/装箱的功能,实现了基本数据类型和对应封装类的自动转换。
装箱就是将基本数据类型转换为它所对应的封装类的对象
拆箱就是将封装类的对象转换为基本数据类型
JDK1.5之前
int a = 5;
Integer b = new Integer(a);
JDK1.5之后
Integer a = 5;
JDK1.5 之后装箱和拆箱由编译器来完成。编译器会自动进行Integer a = new Integer(5); 的编译。
基本数据类型与对象的区别:基本数据类型没有可调用的方法,对象有很多可调用的方法,基本数据类型所占的存储空间相对于对象所占存储空间小
注意:
- Java中基本数据类型的长度是一个固定值,与平台无关,在32位和64位的JVM中,基本数据类型所占字节数相同。
- String 不是基本数据类型,String属于引用类型