基本类型 包装类
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对象
      1. public static void main(String[] args) {
      2. Integer i1 = 10; // 常量池
      3. Integer i2 = 10; // 常量池
      4. Integer i3 = 1000; // new Integer(1000);
      5. Integer i4 = 1000; // new Integer(1000);
      6. System.out.println(i1 == i2); // true
      7. System.out.println(i3 == i4); // false
      8. }
  • 当int和Integer一起运算时会自动转为int