将Java泛型与Gson和ArrayList一起使用

时间:2012-09-05 06:32:16

标签: java android generics gson

我正在构建一个Android应用程序,它使用Gson从API序列化和反序列化对象。对象是POJO,我有一个APIProvider类,由各个提供者为每种类型的对象扩展(例如,ProfileProvider扩展APIProvider)。我已经创建了APIProvider泛型类来抽象缓存。

我遇到的问题是泛型类APIProvider中的泛型。

如果我使用以下行:

List<T> objects = gson.fromJson(cachedObjects, new TypeToken<List<Profile>>(){}.getType());

然后一切正常。一旦我尝试抽象Profile并执行以下操作:

List<T> objects = gson.fromJson(cachedObjects, new TypeToken<List<T>>(){}.getType());

我收到以下错误:

java.lang.ClassCastException: com.google.gson.internal.StringMap cannot be cast to org.buffer.android.core.Profile

任何帮助都会很棒。

0 个答案:

没有答案