2015-10-06 56 views
0

目前,我的代码中出现了很多事件,其内容如下:result = new Gson().fromJson(someString, ResultContainer.class);我应该在所有这些地方共享GSON对象吗?如果是这样,每个对象或每个类的静态(甚至可能是超类?)为每个序列化实例化GSON的新实例?

我问的主要是因为如果静态共享引用很好,那么为什么Gson对象不是静态的呢?除非用户使用奇怪的自定义序列化规则,否则上述方法几乎涵盖了希望Gson执行的操作。

+0

它不是单身人士,因为你可以通过'GsonBuilder'对其进行不同的配置。请参阅[javadoc](https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/Gson.html#Gson())。 –

回答

1

按照GSON user guide

在调用的Json操作的GSON实例不保持任何状态。因此,您可以自由地将多个Json序列化和反序列化操作重复使用同一个对象。

这不是单身人士,因为您可以通过GsonBuilder以不同方式对其进行配置。

1

共享Gson是罚款。

您可以使用GsonBuilder配置Gson,因此Gson不是单身人士。

+0

这是我的经验,它可以分享,但我看不到任何地方在文档说,它是这样的。你可以添加一个链接吗? –

+0

啊,自己找到了;添加了我自己的答案。 –

+0

@AndyTurner Gson团队应该明确地将用户指南声明放入Javadoc ... – wero