2

我正在构建一个 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

任何帮助都是极好的。

4

0 回答 0