一般来说,最好能重用对象而不是在每次需要的时候就创建一个相同功能的新对象。重用方式既快速,又流行。如果对象是不可变的(immutable),它就始终可以被重用。
一个极端的反面例子:String s = new String("stringette"); // DON'T DO THIS!
该语句每次被执行的时候都创建一个新的String实例,但是这些创建对象的动作全都是不必要的。传递给String构造器的参数("stringette")本身就是一个String实例,功能方面等同于构造器创建的所有对象。
改进后:String s = "stringette"; 这样就只有一个String实例,而不是每次执行的时候都创建一个新的实例。而且,它可以保证,对于所有在同一台虚拟机中运行的代码,只要它们包含相同的字符串字面常量,该对象就会被重用。