我正在閱讀工廠設計模式,並在其中一個鏈接上閱讀了下面提到的事實。工廠設計模式在rt.jar中的實現
{ 與各種不可變類一起使用的工廠模式喜歡布爾例如Boolean.valueOf() }
有了這個背景,有人可以解釋它是如何在布爾和其他不可變類中實現的。道歉,如果我在這裏錯過了一件愚蠢的事情。
問候塔倫
我正在閱讀工廠設計模式,並在其中一個鏈接上閱讀了下面提到的事實。工廠設計模式在rt.jar中的實現
{ 與各種不可變類一起使用的工廠模式喜歡布爾例如Boolean.valueOf() }
有了這個背景,有人可以解釋它是如何在布爾和其他不可變類中實現的。道歉,如果我在這裏錯過了一件愚蠢的事情。
問候塔倫
如果你看到兩個方法如下:
public static Boolean valueOf(boolean b) {
return (b ? TRUE : FALSE);
}
public static Boolean valueOf(String s) {
return toBoolean(s) ? TRUE : FALSE;
}
這些都是基於參數提供了布爾類和返回布爾類型對象的靜態方法。
所以,你不要創建布爾對象,而不是布爾類本身創建/回報你(已經創建)對象。因此爲你工廠。
而不是返回new Boolean()
的,它會檢查參數,並返回現有Boolean
對象之一,Boolean.TRUE
或Boolean.FALSE
。
要查看_how_,您可以看到源代碼。 – Jayan