Board logo

标题: 求助:怎样将网络传来的对象进行强制转换 [打印本页]

作者: 春秋    时间: 2006-3-2 13:21     标题: 求助:怎样将网络传来的对象进行强制转换

A extends B
A new 了一个对象a;然后通过网络流OutputStream.writeObject(a)把a对象传给接收方,接收方只有B的class文件,没有A的class文件。

现在接收方从流里读出a对象,inputStream.readObject(),因为本地没有class文件就没法读。于是就将class文件也传过来,能用什么办法装载类呢?我在系统classloader中没有找到方法,于是就自己写了一个classloader。

然后进行转换B b=(B)inputStream.readObject()就抛出classcastException,我猜原因可能是俩个对象用了不同的classloader加载,一个是系统的,一个是我自己写的,所以不能转换。

请问有什么办法可以实现转换呢?我得a对象一定要从对方传过来,而A.class也一定要从对方传过来,而且也一定要转化成B的对象,请问高手该怎么办呢?已经研究了好久,就是不能成功,急死了,谢谢~~
作者: 卡希    时间: 2006-3-2 13:22

Object obj = inputStream.readObject();
System.out.println(obj.getClass().getName());

确认的确是 A。




欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/) Powered by Discuz! 6.0.0