Java实现Serializable接口 10C

一个类实现了Serializable接口后,其成员变量是只能定义一次吗?为什么我用Java对象流传输对象的时候,即使每次都new一个新对象输入,输入全都是跟第一次输入的一样????????

4个回答

要贴出代码看,你的反序列化有问题,导致你构造错误

参考这个例子程序:https://www.cnblogs.com/aigeileshei/p/5855823.html

ZhihengTao
ZhihengTao 回复qq_40703463: 是不是输入/输出流没有刷新flush等原因
一年多之前 回复
qq_40703463
qq_40703463 这是在写一个聊天项目时遇到的问题,消息发送的是message对象,第一次对话没有错,但后来的对话输出都是重复第一次的,可能是什么造成的呢?
一年多之前 回复

你看看在反序列化的时候你读取的是哪个文件,有可能你每次new的新对象与你读取的文件可能不同

是不是第一次序列化到文件后,第二个对象序列化到文件的时候没有设置将文件清空,导致对象写入问题,还是写入了2个对象,但是你读取的时候都是读取第一个对象,而不是第二个,然后 你就觉得都是第一个的值

序列化与反序列化的例子,没有序列化到文件中,序列化到了流中,是通用的序列化方式
public static T cloneDeepXlh(Object obj, Class clazz) throws Exception {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
ObjectOutputStream objectOutputStream = new ObjectOutputStream(outputStream);
objectOutputStream.writeObject(obj);

    ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
    ObjectInputStream objectInputStream = new ObjectInputStream(inputStream);
    return (T) objectInputStream.readObject();
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!