Java 无序列化选项时保存数据的最简单方法
我正在做一个游戏。它有一个Java 无序列化选项时保存数据的最简单方法,java,serialization,save,persistence,Java,Serialization,Save,Persistence,我正在做一个游戏。它有一个游戏类,其中创建了所有内容并存储了其他对象;一个玩家类,其库存为物品s;然后还有房间s,玩家可以去那里,在这些房间里我们有其他物品和敌人s等等。这是一个相当简单的程序 我必须实现一个选项来保存和加载当前游戏状态。我尝试使用Serializable接口,但遇到了一个问题,我的所有项目类都存储StringPropertys。保存这些对象显然不起作用Science StringProperty没有实现接口 然后我想把所有的东西都写在一个简单的文本文件中。但这将是相当复杂的加载
游戏
类,其中创建了所有内容并存储了其他对象;一个玩家
类,其库存为物品
s;然后还有房间
s,玩家可以去那里,在这些房间里我们有其他物品和敌人
s等等。这是一个相当简单的程序
我必须实现一个选项来保存和加载当前游戏状态。我尝试使用Serializable
接口,但遇到了一个问题,我的所有项目类都存储StringPropertys
。保存这些对象显然不起作用Science StringProperty没有实现接口
然后我想把所有的东西都写在一个简单的文本文件中。但这将是相当复杂的加载
用数据库持久化数据对于该项目来说是一种过分的做法。我也知道还有其他的可能性,比如XML,但我以前从未这样做过
我基本上想要的是保存我的游戏状态的最简单(不一定是最漂亮/最干净)的选项,因此当有人想要加载游戏时,我可以简单地创建一个新的
游戏和玩家,只需执行newPlayer.setCurrentLocation(savedLocation)
等操作 对不起,但这个问题“太固执己见了”(在我看来)。有多种方法可以做到这一点;没有真正“最佳”的解决方案脱颖而出。我认为“最自然”的做法是:阅读JSON格式;了解有助于创建/读取JSON数据的现有库。。。然后开始尝试。这就是你想要的。它实际上是根据对象的属性来序列化对象的。我假设每个StringProperty都有一个get方法和一个set方法,就像所有JavaFX类一样。这看起来很有希望。然而,我认为目前我需要太多的重构。但我会记住这一点