一、一般来说,最好能重用对象而不是在每次需要的时候就创建一个相同功能的新对象。
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);
}
结论:当心无意识的自动装箱。