【问题标题】:Re-Instantiating static field after deserialization is bad practice?反序列化后重新实例化静态字段是不好的做法?
【发布时间】:2013-11-26 20:50:40
【问题描述】:

为了简单起见,我在我的代码中有几个字段已声明为 static,它们由每个类代码的许多不同部分中的许多不同类共享,并且更容易(并且不易出错)在不使用反射的情况下使每个类都可以读取它们。问题在于序列化,因为显然它不会保存它们的状态。 现在,我的问题是:是否在序列化方法中创建一个函数以将这些字段的状态保存到非静态变量,然后在反序列化后重新加载状态是不好的做法?

【问题讨论】:

  • 你考虑过使用单例吗?
  • 问题在于引用,而不是实例本身。

标签: java serialization static field


【解决方案1】:

您不能在非静态内容中使用static 变量引用。所以你必须改变你的设计,用 bean 代替静态变量。

【讨论】:

  • 这对我帮助不大。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多