2013-12-09 48 views
1

我知道這個問題被問了好幾次。但我仍然在尋找更清潔的解決方案。 讓我們說,我有一個由兩個類加載器(CL1 & CL2)加載的類A ..現在,在處理時,由CL1加載的類A被傳遞給CL2。由於CL1和CL2中的類A是兩種不同的類型,我得到了ClassCastException。從一個類加載器克隆到另一個類加載器 - ClassCastException

有沒有辦法克隆CL2中的A類(或使CL1中的A類與CL2兼容)?

+0

不幸的是,類A不可序列化。 – Praveen

回答

1

最簡單的解決方案,如果該類是可序列化的,則使用ObjectOutputStream將其寫入字節數組,然後使用ObjectInputStream將其加載回另一個類加載器。

+0

看起來XMLEncoder和XMLDecoder承諾這個問題..但似乎對象內的InputStream/OutputStream/Socket沒有轉換爲XML(即不序列化)?。反序列化的對象將這些字段設置爲NULL。 – Praveen

相關問題