Java GsonBuilder注册表类型适配器反序列化

Java GsonBuilder注册表类型适配器反序列化,java,android,gson,resttemplate,spring-android,Java,Android,Gson,Resttemplate,Spring Android,我有以下rest模板(用于对服务器的json请求): 公共RestTemplate createRestTemplate(){ RestTemplate RestTemplate=新RestTemplate(); GsonBuilder=新的GsonBuilder(); registerTypeAdapter(Image.class,新的ImageDeserializer()); registerTypeAdapter(MetaData.class,新MetaDataDeserializer()

我有以下rest模板(用于对服务器的json请求):

公共RestTemplate createRestTemplate(){ RestTemplate RestTemplate=新RestTemplate(); GsonBuilder=新的GsonBuilder(); registerTypeAdapter(Image.class,新的ImageDeserializer()); registerTypeAdapter(MetaData.class,新MetaDataDeserializer()); registerTypeAdapter(Vector.class,新的vectorsedSerializer()); GsonHttpMessageConverter jsonConverter=新的GsonHttpMessageConverter(); setGson(builder.create()); FormHttpMessageConverter FormHttpMessageConverter=新FormHttpMessageConverter(); StringHttpMessageConverter StringHttpMessageConverter=新的StringHttpMessageConverter();
最后一个列表我假设您使用的是
java.util.Vector

我猜,这是因为使用了普通的
Vector.class
而不是

new TypeToken<Vector<Whatever>>() {}.getType()
newTypeToken(){}.getType()

在注册中。

你能详细说明这一行的作用吗?例如,
{}
为什么必要?@MatthijsWessels通过创建一个匿名类,类型信息得到了“具体化”,请参阅真棒谢谢。因此,由于
向量
本身是一个泛型类型,你不能使用
类型向量::get
new TypeToken<Vector<Whatever>>() {}.getType()