真好
Java装箱拆箱机制
因为Java中的基本类型不是对象,在面向对象语言中,Java提供对应基本类型的包装类来使基本类型可以面向对象。
基本类型和包装类对应表
| 基本类型 | 包装类型 | 装箱 | 拆箱 |
| -------- | --------- | ---- | ---- |
| byte | Byte | Byte.valueOf() | Byte.byteValue() |
| int | Integer | Integer.valueOf() | Integer.intValue() |
| short | Short | Short.valueOf() | Short.shortValue() |
| long | Long | Long.valueOf() | Long.longValue() |
| float | Float | Float.valueOf() | Float.floatValue() |
| double | Double | Double.valueOf() | Double.doubleValue() |
| char | Character | Character.valueOf() |Character.charValue() |
| boolean | Boolean | Boolean.valueOf() | Boolean.booleanValue() |
装箱拆箱可以是开发者自己调用,亦或者又Java编译器调用。
## Java自动装箱拆箱
所谓自动,其实是编译优化