0

尝试在扩展和实现的类中将java.io.notserializableException对象写入服务器后出现错误,但如果扩展它运行良好jpanelserializablejframe.

这是代码:

//to send to server 
objectoutputstream out = new objectoutputstream(socket.getoutputstream()); 
out.writeobject(myobject); 

//to receive in server 
objectinputstream in = new objectinputstream(socket.getinputstream()); 
in.readobject();

谢谢你的帮助。

4

3 回答 3

2

JPanel (Java 2 Platform SE v1.4.2),它说:

警告:此类的序列化对象将与未来的 Swing 版本不兼容。当前的序列化支持适用于运行相同版本 Swing 的应用程序之间的短期存储或 RMI。从 1.4 开始,对所有 JavaBeans TM的长期存储的支持已添加到java.beans包中。请参阅XMLEncoder

于 2012-06-04T21:01:51.063 回答
1

您对JPanelmyobject实例)的实现具有对其他对象的引用(例如私有字段),即未实现Serializable。正是另一个对象导致了异常。

于 2012-06-04T20:57:22.607 回答
1

正如@Xeon 所说,为 myobject 提供 impl。正如您所说,异常即将出现在 Object 类上,这仅意味着您的类或任何类成员,即字段(它是一个对象,而不是 premitive 类型)没有实现 Serializable 接口。另外你如何在那里创建 myobject ?直接 Object myobject = ...
或 myobject = .... ?

只要确保每个人都实现可序列化。

Object 类提供方法但不实现该可序列化接口,否则 Java 中的每个对象都默认是可序列化的!

于 2015-04-12T19:38:44.600 回答