Effective Java第一条: 考虑使用静态工厂方法代替构造函数。 使用静态工厂方法的一些优点包括: 在Java 7之前,它们可以自动推断类型参数。 它们允许我们控制继承模式:我们可以在Guava中对集合类型进行子类化,而不会让外部代码对其进行子类化。 它们可以返回所需类型的任意子类,从而更好地隐藏实现细节。
newHashMapWithCapacity(100)
比new HashMap<Foo>(100)
更加清晰明了。 - JB Nizet