在java中序列化可变对象

时间:2012-04-24 14:06:04

标签: java serialization

我正在编写一个基于网络的回合制java游戏,每次玩家移动时都使用java序列化API来序列化游戏状态。

令我烦恼的是,我发现api假定对象是不可变的。这意味着每次我尝试发送更新的游戏状态时,都会在客户端收到旧的游戏状态。

有没有办法让objectoutput / objectinputstream忘记已经发送了一个对象并且每次都创建一个新对象?

1 个答案:

答案 0 :(得分:3)

ObjectOutputStream.reset()正是您要寻找的:Oracle docs。它强制流发送更新的对象。