JDK1.5中新的语言特征 -- 自动置入/自动取出(Autoboxing/unboxing)

JDK1.5中新的语言特征 -- 自动置入/自动取出(Autoboxing/unboxing)

Java有基本数据类型,在这些基本数据类型周围又有包装类。通常,编程人员需要将一种类型转换成另一种。看看Listing C.中的代码片断。
  
  Listing C
  
  public class Employee {
  
  private static final Integer CHILD = new Integer(0);
  
  public static void main(String args[]) {
  
  //code for adding n to an Integer
  
  int n=10;
  
  Integer age= new Integer(30);
  
  Integer ageAfterTenYear= new Integer(age.intValue +10);
  
  }
  
  }
  
  请注意,用于计算ageAfterTenYear的内循环代码看上去是多么杂乱。现在,在Listing D.中看看相同的程序使用autoboxing重写后的样子。
  
  Listing D
  
  public class Employee {
  
      public static void main(String args[]) {
  
       int n=10;
  
       Integer age= new Integer(30);
  
       Integer ageAfterTenYear= age +10;
  
      }
  
  }
  
  有一件事值得注意的:在先前,如果你取出(unbox)Null值,它将变为0。在次代码中,编译器将自动地转换Integer为int然后加上10,接着将其转换回Integer.。

你可能感兴趣的:(JDK1.5中新的语言特征 -- 自动置入/自动取出(Autoboxing/unboxing))