java流中的可序列化或串行版本

java流中的可序列化或串行版本,java,serialization,objectoutputstream,serialversionuid,Java,Serialization,Objectoutputstream,Serialversionuid,为什么我会犯这个错误?虽然我已经设置了串行版本,但我无法完成我的工作。实际上我正在尝试从objectoutputstream读取。我需要从对象outputstream获取imageicon的数据,我在那一行遇到错误。我该怎么办 我得到错误的行是: ImageIcon ImageIcon=(ImageIcon)cObjectInputStream.readObject() java.io.InvalidClassException:javax.swing.ImageIcon;本地类 不兼容:流cl

为什么我会犯这个错误?虽然我已经设置了串行版本,但我无法完成我的工作。实际上我正在尝试从objectoutputstream读取。我需要从对象outputstream获取imageicon的数据,我在那一行遇到错误。我该怎么办

我得到错误的行是:

  • ImageIcon ImageIcon=(ImageIcon)cObjectInputStream.readObject()
  • java.io.InvalidClassException:javax.swing.ImageIcon;本地类 不兼容:流classdesc serialVersionUID= -962022720109015502,本地类SerialVersionId=532615968316031794 at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562) 在 java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583) 在 java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496) 在 java.io.ObjectInputStream.ReadOrderinaryObject(ObjectInputStream.java:1732) 在 java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) 位于java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) 在 remoteserver.clientScreenReceiver.run(clientScreenReceiver.java:34)

  • 您正在创建流吗?SerialVersionId不匹配。尝试将类中的UID设置为错误消息中的值:-962022720109015502当我在类中添加显示错误的UID时,我添加以下内容:private static final long serialVersionUID=532615968316031794;当我添加-962022720109015502时,我也得到了一个错误,问题似乎不在您的任何类中,而是在javax.swing.ImageIcon中。双方是否使用相同的Java版本?你不应该发送图像文件字节而不是图像图标吗?我发现我在服务器端和客户端使用的是不同版本的java。我解决了这个问题。但是现在我遇到了一个问题,我无法在服务器端绘制图形。我正在接收图像,但无法绘制它。