基本类型 | 包装类 |
---|---|
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); // true
System.out.println(i3 == i4); // false
}
当int和Integer一起运算时会自动转为int