2011-08-10 3 views
0

je comme ça,objet emboîtés et les sérialisation

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); 

Ensuite, utilisez ObjectOutputStream sérialiser et Tb à tA un byteArray, combien de fois avons-nous à pY byteArray? Les Calss P et TT ont de nombreuses relations et beaucoup d'entre eux sont si inquiets à propos de leur taille.

Répondre

5

La sérialisation est assez intelligente pour réutiliser toutes les références qu'il a déjà vues, donc vous ne devriez avoir qu'un seul pY. C'est un peu expliqué dans ce slightly related FAQ.

+0

vous avez aidé; tks! – Colin

+0

@Gorca: ne pas oublier d'accepter les réponses à vos questions –