rt.jar中的工厂设计模式实现

时间:2014-03-19 12:50:41

标签: java factory

我正在阅读工厂设计模式,在其中一个链接上我读到了下面提到的事实。

{ 与各种不可变类一起使用的工厂模式类似于布尔值,例如通过Boolean.valueOf() }

有了这个背景,有人可以解释它是如何在布尔和其他不可变类中实现的。如果我在这里错过了一件愚蠢的事情,请道歉。

关心塔伦

2 个答案:

答案 0 :(得分:2)

如果你看到以下两种方法:

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

public static Boolean valueOf(String s) {
    return toBoolean(s) ? TRUE : FALSE;
}

这些是基于提供的参数的布尔类和返回布尔类型对象的静态方法。

因此,您不会创建布尔对象,而是布尔类本身会为您创建/返回(已创建)对象。因此为你工厂。

答案 1 :(得分:1)

它不会返回new Boolean(),而是会检查参数并返回现有Boolean个对象之一,Boolean.TRUEBoolean.FALSE