重复使用同一个对象,而不是每次需要的时候就创建一个功能上等价的新对象,通常前者更为合适.
下面有一个例子:
String rainer = new String("rainer"); //错误的写法,要避免!
这个语句每次执行的时候都创建一个新的String实例,但是这些创建对象的动作没有一个是真正需求的.传递给String构造函数的实参("rainer")本身就是一个String实例,功能上等同于所有被构造函数创建的对免.如果这种用法是在一个循环中,或是在一个被频繁调用的方法中,那么成千的String实例会被创建出来.