我正在构建一个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
任何帮助都会很棒。