2009-12-29 23 views

回答

0

簡短的回答是,你需要編寫一個管理序列化的前端。但是,這將是痛苦的,可能不會給你想要的。原始的Java序列化機制允許對象控制自己的序列化和反序列化,而XML實現不會。據我所知,XMLEncoder/XMLDecoder僅用於值對象。

如果你描述你實際想要完成的事情,很可能有人可以給你一種替代方法。

+0

我想序列化成一個XML不可修改的類,其中的字段是最終的,沒有setter方法。 – Claudio 2009-12-29 14:55:58

+0

這是一個理想的解決方案,而不是要解決的問題。什麼課程用於?你爲什麼要序列化它? XML是完成任務的最佳方式嗎? 無論如何,我的第一句話仍然存在:您需要編寫一個前端來管理您的序列化。 – kdgregory 2009-12-29 15:09:57

1

我相信你需要爲每個Encoder實例設置PersistenceDelegate s。您可以使用提供BeanInfo的通常bean機制對屬性進行一些更改。

如果你看一下源代碼,你會發現AWT和Swing bean有一堆硬連線的模糊。這真的不好 - 我建議看看像JAXB。

+0

+1用於提示JAXB;它不會處理任意對象的序列化(即沒有預處理),但可能是一個更好的現實世界的解決方案 – kdgregory 2009-12-31 13:17:32

相關問題