Java装箱和加宽

Java在分配后会自动将原始数据类型转换为它们的包装器类。这称为拳击。

public class MyFirstJavaProgram {
   public static void main(String []args) {
      Integer testData = 10; //boxing
      System.out.println(testData);
   }
}

而当我们将包装对象分配给原始数据类型时,这称为拆箱。

public class MyFirstJavaProgram {
   public static void main(String []args) {
      Integer testData = new Integer(10);
      int a = testData; // unboxing
      System.out.println(a);
   }
}

加宽是指将较小的数据类型(如short)传递给较大的数据类型(如int)。

public class MyFirstJavaProgram {
   public static void main(String []args) {
      short a = 10;
      print(a);//widening
   }
   private static void print(int a){
       System.out.println(a);
   }
}