0
假設我有,例如,通過解析文檔生成的對象數組。這些對象是這樣的:解析後完成對象
Object{
id
text
anotherProperties
}
前兩個屬性(id和text)分析過程中設置的,但現在我想添加其他屬性(附加屬性),不能在分析過程中進行設置,因爲確定它們太複雜,但取決於文本。 如何以優雅的方式實現這一目標? 在Java中? 感謝您的回覆
假設我有,例如,通過解析文檔生成的對象數組。這些對象是這樣的:解析後完成對象
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