JAVA对象的系列化问题

WHQ 2000-06-13 09:06:00
我要把对象经过系列化写入到Socket流中并发出去,当发送的是标准的类型、预定义的类及我自己定义的普通类时,均没有问题,但如果我发送自己定义的类对象的数组时,接收方出现InvalidClassException[LMyClass::Local class not compatible,这是什么缘故?例子如下:
class MyClass implements Serializable
{
public MyClass() {}
...
}
class Message implements Serializable
{
MyClass a; // 没有问题
int []i; // 没有问题
Vector ArrayOfMyClass; // 没有问题
MyClass []a; // 死活不成
public Message() {}
}
...
// 发送端
public void SendRequest(ObjectOutputStream s, Message msg)
{
s.writeObject( msg );
s.flush();
}
// 接收端
public Message GetRequest(ObjectInputStream s)
{
Message msg = (Message)s.readObject(); // 当且仅当Message中有MyClass[]域时出错
return msg;
}
...全文
197 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
WHQ 2000-06-16
  • 打赏
  • 举报
回复
这问题看来是没人能解决了
WHQ 2000-06-13
  • 打赏
  • 举报
回复
MyClass已实现系列化了,可MyClass[]是内部产生的类型,我怎么让它实现系列化?
yanghong 2000-06-13
  • 打赏
  • 举报
回复
your MyClass [] also need implements Serializable

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧