[Java][Bouley]Serializable : mauvaise instanciation des champs

Serializable : mauvaise instanciation des champs [Java][Bouley] - Java - Programmation

Marsh Posté le 27-05-2004 à 21:21:30    

Salut,
Je sérialise une classe contenant des champs eux même sérialisables et lorsque je récupère mon fichier, les champs sont construits avec le constructeur par défaut, comme si ils n'implémentaient pas Serializable.
 
En fait, j'ai rien mais pas d'erreur.
 
Que dois-je faire ?

Reply

Marsh Posté le 27-05-2004 à 21:21:30   

Reply

Marsh Posté le 28-05-2004 à 22:04:58    

par "champs" j imagine que tu parles d'attribu ?
 
si c'est le cas je crois que tu n a pas a t'en soucier, c'est géré tout seul.

Reply

Marsh Posté le 29-05-2004 à 00:01:44    

oui, c'est bien de ça que je parle.
effectivement, j'ai vérifié avec un cas très simple et les attributs sont bien sérialisés comme il faut.
 
mais donc, sachant que mes classes implémentent toutes Serializable, qu'est-ce qui pourrait être la cause de ce merdouillage ?

Reply

Marsh Posté le 29-05-2004 à 00:07:04    

j ai jamais fait ca perso mais jpense pas que les constructeurs soient appelé lors d'une déserialisation.
 
ton objet>>serialisation>>fichier  
fichier>>déserialisation >>objet ( sans appel du constructeur)
 
enfin jvois les choses comme ca perso...


Message édité par veryfree le 29-05-2004 à 00:27:54
Reply

Marsh Posté le 29-05-2004 à 00:13:30    

comme indiqué dans le titre, bouley.

Citation :

sachant que mes classes implémentent toutes Serializable


en fait, c'était faux, j'ai corrigé ça et ça marche.
 
:pfff:
 
merci veryfree  :jap:

Reply

Marsh Posté le 29-05-2004 à 00:14:38    

ca rool ;)

Reply

Marsh Posté le 29-05-2004 à 00:26:59    

veryfree a écrit :

j ai jamais fait ca perso mais jpense pas que les constructeurs sont appelé lors d'une déserialisation.

bingo, c'est soit un constructeur vide obligatoire soit celui de Object (trop saoul pour vérifier) mais les champs sont affectés après construction, en "force brute" (sans passer par les accesseurs).


---------------
trainoo.com, c'est fini
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed