一个类实现了Serializable接口后,其成员变量是只能定义一次吗?为什么我用Java对象流传输对象的时候,即使每次都new一个新对象输入,输入全都是跟第一次输入的一样????????
要贴出代码看,你的反序列化有问题,导致你构造错误
参考这个例子程序:https://www.cnblogs.com/aigeileshei/p/5855823.html
你看看在反序列化的时候你读取的是哪个文件,有可能你每次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();
}