空间大小与对应关系
- byte(1字节) Byte
- short(2字节) Short
- char(2字节) Character
- int(4字节) Integer
- long(8字节) Long
- float(4字节) Float
- double(8字节) Double
- boolean(未定) Boolean
boolean 占用空间大小
- java规范中,没有明确指出boolean的大小。在《Java虚拟机规范》给出了4个字节,和boolean数组1个字节的定义,
具体还要看虚拟机实现是否按照规范来
,所以1个字节、4个字节都是有可能的
装箱与拆箱
装箱
:通过调用包装器的valueOf
方法实现的拆箱
:通过调用包装器的xxxValue
方法实现的- 深入剖析Java中的装箱和拆箱
整形、非整形和Boolean的不同实现
- 整形(Integer、Short、Byte、Character、Long)的实现,
-127~128
的数值,在拆装箱的时候会存取同一数值的缓存对象
- 非整形(Double、Float)
不会有缓存
- Boolean的实现
public static Boolean valueOf(boolean b) {
return (b ? TRUE : FALSE);
}