gpt4 book ai didi

java - 在不丢失其监听器的情况下序列化和反序列化对象的最佳方法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:33:24 25 4
gpt4 key购买 nike

我有一个注册了监听器的可序列化对象。目前,监听器列表作为 transient 存储在对象中。当对象被序列化然后反序列化时,显然监听器不再被注册。

一旦对象被反序列化,自动重新注册监听器的最安全和最好的方法是什么?有没有好的设计模式可以帮助解决这个问题?

最佳答案

如果实现 readObject(),则可以在反序列化过程中重建 transient 。您应该将反序列化视为对象构造(因为它是)。

   private void readObject(ObjectInputStream in) 
throws ClassNotFoundException, IOException {
// do normal serialization first!
in.defaultReadObject();

// put code here that can somehow reconstruct your listeners
// presumably you have someplace you can look them up
}

关于java - 在不丢失其监听器的情况下序列化和反序列化对象的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/131866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com