0

所以我有一个像这样的包装类:

class VeryWrapper
{
    Wrapper wrp = new Wrapper();
    int val = 0;
}

其中Wrapper定义为:

class Wrapper
{
    int val = 0;
}

现在,如果我想将其序列化为流,请同时更改valandwrp.val并使用新状态对其进行序列化。我知道使用writeObject会导致在流的另一端接收旧状态。所以writeUnshared在这种情况下必须使用。但问题是,使用这种方法只有对象本身将被取消共享,而不是它的字段(wrp我的意思是字段),因此值val将被更新,但值wrp.val仍然是旧值。你将如何解决这个问题?

4

1 回答 1

0

reset()定期调用以避免内存泄漏是个好主意。在您的情况下,它将确保所有对象都将被再次发送。

于 2012-07-04T16:00:53.327 回答