首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java自非序列化

Java自非序列化
EN

Stack Overflow用户
提问于 2014-12-23 14:33:37
回答 2查看 131关注 0票数 1

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

代码语言:javascript
运行
复制
public String exportToString() {
    Gson gson = new Gson();
    String json = gson.toJson(this);
    return json;
}

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

代码语言:javascript
运行
复制
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
}

抱歉,我的英语

EN

Stack Overflow用户

回答已采纳

发布于 2014-12-23 14:39:24

我认为最简单的方法是使第二个方法是静态的,并返回字符串中表示的对象的实例:

代码语言:javascript
运行
复制
public static PlayerData importFromString(String str) {
  Gson gson = new Gson();
  Object obj = gson.fromJson(str, PlayerData.class);
  return (PlayerData) obj;
}

然后按以下方式调用它:

代码语言:javascript
运行
复制
PlayerData obj = PlayerData.importFromString(someString);
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27622438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档