gpt4 book ai didi

java - 有没有一种方法可以在序列化期间存储静态变量的值?

转载 作者:行者123 更新时间:2023-12-01 17:35:09 24 4
gpt4 key购买 nike

在Java中,我们如何在序列化过程中存储静态变量的值?

最佳答案

与任何其他字段相同。

static String name;

// assign
name = "Bob";

// get
String n = name;

如果要将其保存到文件中,可以使用关闭 Hook 来写入数据,但这不能保证运行。每次数据更改时我都会将数据写入文件并在启动时加载它。

private static final String NAME_FILE = "name.txt";
static String name; static {
try {
name = FileUtils.readFileToString(NAME_FILE );
} catch (IOException e) {
name = "unknown";
}

public static String getName() { return name; }
public static void setName(String name) {
this.name = name;
try {
FileUtils.writeStringToFile(NAME_FILE, name);
} catch(IOException e) {
log.error(e);
}
}

您可以在序列化期间通过覆盖 wrireObject/readObject 来存储变量,但是,这是一个坏主意。您最好序列化静态值。

关于java - 有没有一种方法可以在序列化期间存储静态变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7259454/

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