嵌套对象和序列化

时间:2011-08-10 19:01:14

标签: java serialization

我喜欢这个,

Class P {
pub int id;
pub P(id) { this.id = id; }
...
pub Set<Integer> parentTTList;

}

Class TT {
pub int id;
pub TT(id) { this.id = id; }
pub List<P> manyPList;
}

List<TT> manyTTList;

Then TT tA = new TT(1), tB = new TT(2);
P pX = new P(-1), pY = new P(-2);

tA.manyPList.add(pY); pY.parentTTList.add(tA.id);

tA.manyPList.add(pX); pX.parentTTList.add(tA.id);

tB.manyPList.add(pY); pY.parentTTList.add(tB.id);

然后使用ObjectOutputStream将tA和tB序列化为byteArray,我们在byteArray中有多少次pY? Calss P和TT有很多关系,我们有太多人担心尺寸。

1 个答案:

答案 0 :(得分:5)

序列化非常智能,可以重用已经看过的任何引用,因此您应该只有一个pY。这在slightly related FAQ.

中有所解释