0

例如,假设我有一个通过解析文档生成的对象数组。这些对象如下所示:

Object{
  id
  text
  anotherProperties
}

前两个属性(id和text)是在解析时设置的,但是现在我想再添加一个Properties(附加属性),在解析时不能设置,因为确定它们太复杂了,而是依赖于文本。我怎样才能以优雅的方式实现这一目标?在 Java 中?感谢您的回复

4

1 回答 1

1

也许使用带有 Integer 键(您的 id)和 DocProperites 值的 HashMap,它由文本和 anotherProperites 组成。

然后,当您准备好设置 anotherProperties 时,您可以从 HashMap 中检索对象,然后设置它。

例如

Map<Integer, DocProperties> map = new HashMap();

和 DocProperties 是

public class DocProperties {
    private String text;
    private String anotherProperties;
    //plus the usual setters, getters and ctor
}

然后当你想设置 anotherProperties 你可以调用

map.get(key).setAnotherProperties(....);

如果你想要更动态的东西,那么你可以使用另一个 HashMap 而不是 DocProperties。然后,HashMap 可以在您解析时添加和删除键。不过我不建议这样做,因为代码可能会变得非常混乱和漏洞百出。

于 2012-09-25T16:21:14.577 回答