2014-03-19 73 views
1

我正在閱讀工廠設計模式,並在其中一個鏈接上閱讀了下面提到的事實。工廠設計模式在rt.jar中的實現

{ 與各種不可變類一起使用的工廠模式喜歡布爾例如Boolean.valueOf() }

有了這個背景,有人可以解釋它是如何在布爾和其他不可變類中實現的。道歉,如果我在這裏錯過了一件愚蠢的事情。

問候塔倫

+1

要查看_how_,您可以看到源代碼。 – Jayan

回答

2

如果你看到兩個方法如下:

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

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

這些都是基於參數提供了布爾類和返回布爾類型對象的靜態方法。

所以,你不要創建布爾對象,而不是布爾類本身創建/回報你(已經創建)對象。因此爲你工廠。

1

而不是返回new Boolean()的,它會檢查參數,並返回現有Boolean對象之一,Boolean.TRUEBoolean.FALSE