如何使用类名动态设置ArrayList类型?

时间:2018-06-24 21:51:41

标签: java android reflection

使用Gson库,通过以下代码将JSON字符串转换为ArrayList对象:

dlsym

并且我使用以下代码将json转换为objec类:

posts = gson.fromJson(json, new TypeToken<List<Post>>(){}.getType());

您会在第二个代码中看到我使用反射来指定类的类型; 但是对于第一个代码,我不知道如何使用反射来指定列表的类型。

我该怎么办?!

1 个答案:

答案 0 :(得分:1)

因此,据我了解,您需要对对象列表进行反序列化,但是在编译时类型未知,但是您是在动态提供它? 您可能想为您的类型使用类似的内容:

TypeToken.getParameterized(List.class, Class.forName("foo.bar.MyDynamicType"))

这将创建与

相同的类型
new TypeToken<List<MyDynamicType>>(){}.getType()