2014-08-30 115 views
0

使用DateFormat子類的正確方法是什麼?要顯式實例化它或使用其定義類的靜態方法之一?DateFormat:創建一個新實例或調用子類getInstance()方法?

此外,SimpleDateFormat的文檔中,有關同步的,它指出:

同步

日期格式不同步。建議使用 爲每個線程創建單獨的格式實例。如果多個 線程同時訪問一個格式,則它必須在外部同步 。

那麼,單線程應用程序中最好的方法是什麼?而在多線程的?每個線程的新實例,還是一個訪問同步的公共實例?
在後者中,我猜想分享模式並在需要時創建新實例會更好,但我希望您的建議。

+0

肯定這取決於用例是什麼。 – 2014-08-30 10:19:59

+0

@OliCharlesworth當我需要一個方法中的單個實例,或者當我想跨方法共享一個模式(所以是日期格式化程序)時。如果使用工廠方法總是更好,我不能得到javadocs。這讓我感到困惑。 – watery 2014-08-30 10:22:05

+0

你不能明確地實例化它;這是一個抽象類。 – 2014-08-30 10:28:12

回答

1

作爲一個經驗法則:

  • 單線程:你可以重用你的DateFormat實例

  • Mutithread環境:每次創建新實例,你使用它

+0

好。所以你不建議在任何情況下使用* DateFormat子類get * Instance()方法? – watery 2014-08-30 10:22:58

+0

如果你想使用系統默認值,是的。如果你想顯式格式聲明,使用構造函數 – 2014-08-30 10:27:02

相關問題