gpt4 book ai didi

Java序列化: static variables not serializable: workaround

转载 作者:行者123 更新时间:2023-12-01 23:18:01 26 4
gpt4 key购买 nike

好的,所以这个问题主要与:有没有更好的方法来做到这一点?

我有一个电话簿应用程序,您可以向其中添加用户、删除用户等,并且为每个人分配一个不同的 ID#。 Person 类将 lastIDused 存储为静态类变量。电话簿类有一个 Persons vector 。

我的解决方法的想法是这样的:为 Person 类创建一个新的非静态变量,并在序列化/保存时,仅对于 vector 中的第一个元素,将静态变量的数据存储到这个新变量中。然后,在反序列化时,使用第一个人的此类变量重新设置静态变量。

回到我原来的问题:有没有更好/更正式/正确的方法来做到这一点?

最佳答案

更好的解决方案(IMO)是使 lastIdUsed 成为 PhoneBook 类的实例字段。听起来您已经在序列化该类的实例...

FWIW - 将 lastIdUsed 设为 Person 的实例字段只是糟糕的对象建模。该字段几乎永远不会有用,也几乎永远不会有有效值。仅当 PhoneBook 中的第一个序列化 Person 时,它才具有有效值。

关于Java序列化: static variables not serializable: workaround,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20942291/

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