1、基本介绍
| 类型名称 | 默认值 | 大小 | 范围 | 包装类 | 包装类父类 | 包装类缓存区间 |
|---|---|---|---|---|---|---|
| boolean | flase | 1B | false\true | Boolean | 无 | 无 |
| byte | (byte)0 | 1B | -2^7 ~ 2^7-1 | Byte | Number | -2^7 ~ 2^7-1 |
| char | '\u0000' | 2B | '\u0000' ~ '\uFFFF' | Character | 无 | 0 ~ 2^7-1 |
| short | (short)0 | 2B | -2^15 ~ 2^15-1 | Short | Number | -2^7 ~ 2^7-1 |
| int | 0 | 4B | -2^31 ~ 2^31-1 | Integer | Number | -2^7 ~ 2^7-1 |
| long | 0 | 8B | -2^63 ~ 2^63-1 | Long | Number | -2^7 ~ 2^7-1 |
| float | 0.0f | 4B | 1.4e^-45 ~ 3.4e^38 | Float | Number | 无 |
| double | 0.0d | 8B | 4.9e^-324 ~ 1.798^308 | Double | Number | 无 |
2、基本数据类型
占用存储空间小;
有默认值;
3、包装类型
占用存储空间大,对象最小内存需要12字节(对象头),再加上实例数据大小;
无默认值,创建时必须指定其实例数据值,或者直接从缓存中返回;
有缓存,可以使用valueOf()优先从缓存中返回已有的大小引用,Integer还可以自定义缓存区间;
提供字符串转对应的包装类型及其它及其它静态工具方法,方便使用;
包装类型对象未创建时,为null,在参数判断时更容易判断;
使用‘=’比较引用值(对象首地址),判断是否同一对象(缓存区间内返回的是同一对象),使用equals比较实例数据值,即对应基本数据类型值大小;