java用静态工厂代替构造函数使用方法和优缺点

时间:2022-02-26 05:18:43

1. 形式

复制代码代码如下:

public static Boolean valueOf(boolean b) {
    return b ? Boolean.TRUE : Boolean.FALSE;
}

 

2. 优点:

可以有名称
不一定要创建新对象,可以返回已有的对象
可以返回子类类型的对象(例:java.util.Collections)
让参数化代码变短(例:new HashMap<String,List<String>>() 改为 HashMap.newInstance() )

3. 缺点:不能子类化,不被IDE工具识别。

4. 常用名称:valueOf/of ; getInstance(Singleton); newInstance ; getType(不同的类时用); newType