java - 反序列化后重新实例化静态字段是不好的做法吗?

标签 java serialization static field

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

最佳答案

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

关于java - 反序列化后重新实例化静态字段是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20227696/

相关文章:

java - Spring Boot 和 JPA+Postgres : Lob mapped to Text but integer is persisted

java - 为什么我的 ArrayList 包含添加到列表中的最后一项的 N 个副本?

java - HashMap 中的内容适当的数据

java - 反序列化对象时是否会忽略意外字段?

c# - 是否固定了静态类成员?

java - glDrawArrays Exception_Access_Violation

c# - 如何在 ASP.NET 5 RC 1 中使用 JavaScriptSerializer?

c# - 为什么类不需要标记为要序列化的 [DataContract] 或 [Serializable] 属性?

python - Django - 在模板中引用静态文件

java - 在类的私有(private)静态最终变量中使用动态类名