目前,我的代碼中出現了很多事件,其內容如下:result = new Gson().fromJson(someString, ResultContainer.class);
我應該在所有這些地方共享GSON對象嗎?如果是這樣,每個對象或每個類的靜態(甚至可能是超類?)爲每個序列化實例化GSON的新實例?
我問的主要是因爲如果靜態共享引用很好,那麼爲什麼Gson對象不是靜態的呢?除非用戶使用奇怪的自定義序列化規則,否則上述方法幾乎涵蓋了希望Gson執行的操作。
目前,我的代碼中出現了很多事件,其內容如下:result = new Gson().fromJson(someString, ResultContainer.class);
我應該在所有這些地方共享GSON對象嗎?如果是這樣,每個對象或每個類的靜態(甚至可能是超類?)爲每個序列化實例化GSON的新實例?
我問的主要是因爲如果靜態共享引用很好,那麼爲什麼Gson對象不是靜態的呢?除非用戶使用奇怪的自定義序列化規則,否則上述方法幾乎涵蓋了希望Gson執行的操作。
在調用的Json操作的GSON實例不保持任何狀態。因此,您可以自由地將多個Json序列化和反序列化操作重複使用同一個對象。
這不是單身人士,因爲您可以通過GsonBuilder以不同方式對其進行配置。
共享Gson
是罰款。
您可以使用GsonBuilder
配置Gson
,因此Gson
不是單身人士。
這是我的經驗,它可以分享,但我看不到任何地方在文檔說,它是這樣的。你可以添加一個鏈接嗎? –
啊,自己找到了;添加了我自己的答案。 –
@AndyTurner Gson團隊應該明確地將用戶指南聲明放入Javadoc ... – wero
它不是單身人士,因爲你可以通過'GsonBuilder'對其進行不同的配置。請參閱[javadoc](https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/Gson.html#Gson())。 –