gpt4 book ai didi

Java自反序列化

转载 作者:太空宇宙 更新时间:2023-11-04 14:16:49 25 4
gpt4 key购买 nike

我正在尝试编写一个具有exportToString 和importFromString 方法的类。 ExportToString 将此类序列化为 JSON 字符串:

public String exportToString() {
Gson gson = new Gson();
String json = gson.toJson(this);
return json;
}

我需要编写 importFromString(String str)。问题是“this”变量是最终变量,我无法完全重新分配该值。这就是我所拥有的:

public void importFromString(String str) {
Gson gson = new Gson();
Object obj = gson.fromJson(str, this.getClass());
this = (PlayerData) obj; // ERROR: cannot assign value to final variable this
}

附注抱歉我的英语不好

最佳答案

我认为执行您想要的操作的最简单方法是将第二个方法设为静态并返回字符串中表示的对象的实例:

public static PlayerData importFromString(String str) {
Gson gson = new Gson();
Object obj = gson.fromJson(str, PlayerData.class);
return (PlayerData) obj;
}

然后按如下方式调用它:

PlayerData obj = PlayerData.importFromString(someString);

关于Java自反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27622438/

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