2

Gson を使用して API からオブジェクトをシリアル化および逆シリアル化する Android アプリを構築しています。オブジェクトは POJO であり、オブジェクトのタイプごとに個々のプロバイダーによって拡張される APIProvider クラスがあります (たとえば、ProfileProvider は APIProvider を拡張します)。キャッシングを抽象化するために、APIProvider ジェネリック クラスを作成しました。

私が抱えている問題は、ジェネリック クラス APIProvider のジェネリックにあります。

次の行を使用する場合:

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

その後、すべてが正しく機能します。プロファイルを抽象化して次のことをしようとするとすぐに:

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