解析后完成对象
问题描述:
假设我有,例如,通过解析文档生成的对象数组。这些对象是这样的:解析后完成对象
Object{
id
text
anotherProperties
}
前两个属性(id和text)分析过程中设置的,但现在我想添加其他属性(附加属性),不能在分析过程中进行设置,因为确定它们太复杂,但取决于文本。 如何以优雅的方式实现这一目标? 在Java中? 感谢您的回复
答
或许使用Integer(您的id)键和由文本和anotherProperites组成的DocProperites的值的HashMap。
然后当你准备设置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可以在您解析时添加和删除键。我不会提供这个建议,因为代码可能会变得非常混乱和bug缠身。
解析完文档后,迭代对象的集合并设置值?你来自PHP的是 –
吗?无需使用字节码操作就可以在Java中动态创建字段。 – gigadot
@PeterLawrey好吧,我正在循环。我怎么能停止循环看到对象的文本? 2)我怎么才能分配一个属性(意味着调用一个setProperty()方法)? – MartinM