2013-12-09 47 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

相关问题