1. 程式人生 > >第5條:避免建立不必要的物件

第5條:避免建立不必要的物件

一、一般來說,最好能重用物件而不是在每次需要的時候就建立一個相同功能的新物件。

String s = new String("stringette");//DON'T DO THIS

//改進後的版本:
String s = "stringette";

二、對於同時提供了靜態工廠方法和構造器的不可變類,通常可以使用靜態工廠方法而不是構造器,以避免建立不必要的對面。

三、除了重用不可變的物件之外,也可以重用那些已知不會被修改的可變物件。

四、有一種建立多餘物件的新方法,稱作自動裝箱,它允許程式設計師將基本型別和裝箱基本型別混用,按需要自動裝箱和拆箱。

//Hideously slow program! Can you spot the object creation?
public static void main(String[] args) {
    Long sum = 0L;
    for(long i = 0; i < Integer.MAX_VALUE; i++) {
        sum += i;
    }
    System.out.println(sum);
}

結論:當心無意識的自動裝箱。