避免创建重复的对象,如果一个对象是不可变的,那么它总是可一被重用
书中的例子:
String s=new String("silly");//这个为什么不好?该语句每次被执行的时候都创建一个新的String实例.
String s="silly"; //只使用一个String实例
今年年初,项目组在进行项目优化的时候,遇到过类似的代码,当时问了下为什么第一种不好,大家只是说不好,并没有说出原因.而现在,终于在书中找到了答案.
所以对于同时提供静态工厂方法和构造函数的非可变类,通常可以利用静态工厂方法而不是构造函数,以避免创建重复的对象.如:Boolean.valueOf(String)优先于Boolean(String) .也就是如果有别的方法可以创建对象的话,应该尽量避免去new 一个对象.
除了重用非可变的对象之外,对于那些已知不会被修改的可变对象,也可一重用他们.(例子见书上.)