Java Gson:将Gson LinkedTreeMap强制转换为不同类型的通用ArrayList

Java Gson:将Gson LinkedTreeMap强制转换为不同类型的通用ArrayList,java,generics,arraylist,gson,Java,Generics,Arraylist,Gson,我知道以前也有人问过类似的问题,但解决方案对我来说真的没有帮助,因为它们处理的是一个包含单一类型列表的通用列表 我得到了一个如下所示的POJO,我使用Gson.toJson()将其解析为JSON,并将其作为字符串保存在数据库表中,然后使用Gson.fromJson()将其取回 现在,当我将JSON解析回MyClass时,我得到了带有泛型列表的HashMap。但是关于ClassOne和ClassTwo的信息丢失了,我只是将它们中的信息作为LinkedTreeMap获取,不能通过 MyClass m

我知道以前也有人问过类似的问题,但解决方案对我来说真的没有帮助,因为它们处理的是一个包含单一类型列表的通用列表

我得到了一个如下所示的POJO,我使用
Gson.toJson()
将其解析为JSON,并将其作为字符串保存在数据库表中,然后使用
Gson.fromJson()
将其取回

现在,当我将JSON解析回
MyClass
时,我得到了带有泛型列表的HashMap。但是关于
ClassOne
ClassTwo
的信息丢失了,我只是将它们中的信息作为LinkedTreeMap获取,不能通过

MyClass myObject = gson.fromJson(jsonString, MyClass.class);

HashMap<String, List> statistic = myObject.getStatistic();

List<ClassOne> one = (List<ClassOne>) statistic.get("one");
List<ClassTwo> one = (List<ClassTwo>) statistic.get("two");
MyClass myObject=gson.fromJson(jsonString,MyClass.class);
HashMap statistic=myObject.getStatistic();
List one=(List)statistic.get(“one”);
List one=(List)statistic.get(“两”);
我如何解决这个问题?我无法将POJO的结构更改为有两个ArrayList而不是一个HashMap,因此我只能这样做

List<ClassOne> one = new ArrayList<ClassOne>();
List<ClassTwo> two = new ArrayList<ClassTwo>();

HashMap<String, List> list = new HashMap<String, List>();
list.put("one", one);
list.put("two", two);
MyClass myObject = gson.fromJson(jsonString, MyClass.class);

HashMap<String, List> statistic = myObject.getStatistic();

List<ClassOne> one = (List<ClassOne>) statistic.get("one");
List<ClassTwo> one = (List<ClassTwo>) statistic.get("two");