例如,假设我有一个通过解析文档生成的对象数组。这些对象如下所示:
Object{
id
text
anotherProperties
}
前两个属性(id和text)是在解析时设置的,但是现在我想再添加一个Properties(附加属性),在解析时不能设置,因为确定它们太复杂了,而是依赖于文本。我怎样才能以优雅的方式实现这一目标?在 Java 中?感谢您的回复
也许使用带有 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 可以在您解析时添加和删除键。不过我不建议这样做,因为代码可能会变得非常混乱和漏洞百出。