2

我想知道是否可以为不存在的类创建一个“临时”对象(在运行时),并为该对象创建字段。

我正在解析一个文本文件,我需要手动创建数百个(如果不是更多)类来存储(然后写入)该文件中表示的所有数据。

该文件看起来像:

person,John,28,USA,Male
person,Rebecca,25,USA,Female

... 之后 ...

address,John,...
address,Rebecca,..

我想做一个方法,当遇到一种新的数据(这里是一个人或地址)时,创建一个不存在的相应类(Person.class 或 Address.class)的对象在我的 src 代码中。

然后,我将围绕 (",") 分割线,并为每个字符串创建一个新字段,为该新对象创建一个新字段并将值放入其中。

编辑 :

找到了似乎是我需要的dexmaker,但我能否使用 dexmaker 生成的类使用 JAXB/DOM 或其他类似实现来构建输出 xml?

谢谢

4

4 回答 4

5

您可以使用 aHashMap<String, String>作为灵活的对象:每个键(字段名)都引用一个字段值。

为每种类型(地址、人员)添加一个 HashMap,并且为了保持类型哈希图的跟踪,请使用HashMap<String, HashMap<String, String>>:)

这有点像实际上是关联数组的 javascript 对象。

于 2013-04-22T08:19:41.507 回答
2

您可以拥有任何在 Properties 容器中保存 String 键和值的类。不知道为什么有用...

对于 SQL,有 ORM 框架,如果您已链接库并正确配置,它将自动完成您的工作。

于 2013-04-22T08:00:22.750 回答
0

为什么需要临时对象?如果您真的不想在源代码中创建任何类,则可以借助 Collections。使用合适的集合来短期保存数据。

它们是预定义的,无需为此创建任何类。您可以使用 HashMap、HashTable 等。

于 2013-04-22T08:32:20.923 回答
0

为了存储解析数据,您可以使用 Collections 类实用程序。我也在解析文件,我总是喜欢使用 Map,List。Java 为快速开发提供了这些东西,不会浪费时间。为每个新数据创建一个对象并比较这些对象,以便在 Map 中仅存储不同类型的对象。

于 2013-04-23T06:01:55.867 回答