请教个序列化的问题

LGYAN 2017-03-25 10:13:23
序列化前是相等的,序列化后不相等,如何解决?


import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;


public class Test implements Serializable{
private static final long serialVersionUID = 1L;

private TestValue t=TestValue.INSTANCE;

//判断是否相等
public void equals(){
System.out.println(t==TestValue.INSTANCE);
}

public static void main(String[] args) {
Test t=new Test();
t.equals();//此时是相等的
try {
Serialize(t);
Test bTest=Deserialize();
bTest.equals();//反序列化后,不相等????
} catch (Exception e) {
e.printStackTrace();
}
}

private static void Serialize(Test o ) throws FileNotFoundException, IOException {
ObjectOutputStream oo = new ObjectOutputStream(new FileOutputStream(new File("DataObject.txt")));
oo.writeObject(o);
oo.close();
}

private static Test Deserialize() throws Exception, IOException {
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File("DataObject.txt")));
Test object = (Test) ois.readObject();
ois.close();
return object;
}
}


import java.io.Serializable;


public class TestValue implements Serializable {
private static final long serialVersionUID = 1L;

public static final TestValue INSTANCE = new TestValue();
public static final TestValue EMPTY = new TestValue();

private TestValue(){

}
}

...全文
153 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
LGYAN 2017-03-25
  • 打赏
  • 举报
回复
没人知道吗?
LGYAN 2017-03-25
  • 打赏
  • 举报
回复
出现不相等的原因我知道,但我不知道如何解决合适。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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