| 基本类型 | 包装类 |
|---|---|
| int | Integer |
| long | Long |
| byte | Byte |
| float | Float |
| double | Double |
| boolean | Boolean |
| char | Character |
| short | Short |
以Integer为例
当使用Integer进行赋值时会自动进行装箱(将int转为Integer)
自动装箱的范围:
- 当int范围在[-127, 128]之间时会直接从常量池中拿值
- 当int范围不在[-127, 128]之间时会new一个新的Integer对象
public static void main(String[] args) {Integer i1 = 10; // 常量池Integer i2 = 10; // 常量池Integer i3 = 1000; // new Integer(1000);Integer i4 = 1000; // new Integer(1000);System.out.println(i1 == i2); // trueSystem.out.println(i3 == i4); // false}
当int和Integer一起运算时会自动转为int
