Java的基本类型、包装类以及自动装箱
数据类型 | 内存大小 |
---|---|
byte | 1B |
short | 2B |
int | 4B |
long | 8B |
float | 4B |
double | 8B |
char | 英文 1B,中文 UTF-8 占 3B,GBK 占2B |
boolean | 单个变量 4B / 数组 1B |
其中byte <(short=char)< int < long < float < double,小转大时可以自动转换,大转小时需要强制类型转化且可能丢失数据;
int:有符号的32位,范围[-2^31, 2^31-1];
包装类的作用:方便对对象进行操作,各种集合在使用时只允许存放包装类;
自动装箱:把基本类型包装成包装类;方便包装类直接引用基本类型;
自动拆箱:把包装类转化为基本类型,例如当Integer类型的对象与int类型的对象用==比较时,会把Integer类型自动转化为int类型。