使用 Gson 库,我通过以下代码将 JSON 字符串转换为 ArrayList 对象:
posts = gson.fromJson(json, new TypeToken<List<Post>>(){}.getType());
我使用以下代码将 json 转换为类对象:
obj = gson.fromJson(json, Class.forName(fullClassName));
你在第二个代码中看到我使用反射来指定类的类型; 但是对于第一个代码,我不知道如何使用反射来指定列表的类型。
我该怎么办?!
最佳答案
所以,据我了解,您需要反序列化对象列表,但类型在编译时未知,但您是动态提供的?
你可能想为你的类型使用类似的东西:
TypeToken.getParameterized(List.class, Class.forName("foo.bar.MyDynamicType"))
这将创建与
相同的类型new TypeToken<List<MyDynamicType>>(){}.getType()
关于java - 如何使用类名动态设置 ArrayList 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51014285/