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