Java Package 器类如何实现工厂模式?

huwehgph  于 2023-02-28  发布在  Java
关注(0)|答案(1)|浏览(121)

我阅读过工厂设计模式,看到一些文章中提到的 Package 类(如Integer和Boolean)使用valueof方法,该方法返回工厂创建的对象,该对象相当于传递的参数值。
当我检查代码时,我看到了下面的代码。我无法理解工厂模式是如何在 Package 类中实现的。

public static Integer valueOf(int i) {
    if (i >= IntegerCache.low && i <= IntegerCache.high)
         return IntegerCache.cache[i + (-IntegerCache.low)];
    return new Integer(i);
}
deikduxw

deikduxw1#

这是在Integer类中实现的工厂模式。在查看它时,您会注意到它有3个不同的实现,根据参数类型创建Integerfactory pattern是一个创建模式。

public static Integer valueOf(int i)

public static Integer valueOf(String s)

public static Integer valueOf(String s, int radix)

此外,在Integer类的情况下,使用了Effective Java一书中推荐的另一种模式static constructor

相关问题