当前位置: 首页 > 知识库问答 >
问题:

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

冯德宇
2023-03-14

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

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

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

我该怎么办?!

共有1个答案

白祺然
2023-03-14

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

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

这将创建与

new TypeToken<List<MyDynamicType>>(){}.getType()
 类似资料:
  • 我需要向常规类列表中添加一个动态类,但不知道如何添加(我使用的是babel),如下所示: 有什么想法吗?

  • 问题内容: 如果我在引导程序中有导航栏 当每个菜单项处于活动状态时,如何设置它们的活动类?也就是说,当角度路线位于 回家 关于页面 用于联系页面 问题答案: 一种非常优雅的方法是使用ng-controller在ng-view外部运行单个控制器: 并包含在controllers.js中:

  • 问题内容: 我想用一些动态问题来填充表单(在此处提示): 一切正常,除了模型实际上是Answers [“ {{question.Name}}”],而不是评估后的Answers [“ GenderQuestion”]。如何动态设置型号名称? 问题答案: http://jsfiddle.net/DrQ77/ 您只需将javascript表达式放入中。

  • 我想做的是根据滚动的数字将Imageview设置为不同的骰子侧。

  • 问题内容: 好的,因此,我正在设置自己的XML序列化(我知道那里还有其他东西,甚至Java中内置了一些东西,但是我自己学习来做,因为可以使用它非常棒)。我已经序列化了。我目前正在进行反序列化(读取XML文件并基于文件中的数据组装对象),并且在设置通用类型时遇到问题。经过广泛研究,我弄清楚了如何获取类的泛型类型,以便在序列化时可以编写它们,但是我不知道如何执行此操作: 我已经在C#中看到了一些答案,

  • 问题内容: 我正在尝试制作Java RMI客户端/服务器应用程序。我在启动应用程序服务器端时遇到问题,因为在我尝试启动应用程序服务器端时,在调用Registry.bind()方法期间,它一直运行在 ClassNotFoundException 中。 我从这里的简单教程开始:http : //docs.oracle.com/javase/1.5.0/docs/guide/rmi/hello/hell