jcodeunpeu
Messages postés365Date d'inscriptionmercredi 9 novembre 2005StatutMembreDernière intervention 2 décembre 2006
-
21 nov. 2005 à 12:40
jcodeunpeu
Messages postés365Date d'inscriptionmercredi 9 novembre 2005StatutMembreDernière intervention 2 décembre 2006
-
22 nov. 2005 à 18:54
Bonjour,
qui saurait me dire, sous eclipse, ce qu'il faut faire lorsqu'on a une info-bulle qui apparait lorsqu'on pointe sur le nom de la classe et qui affiche :
The serializable class ... does not declare a static final serialVersionUID of type long.
j'ajoute que ça ne gene pas la compilation, mais ça devrait me gener pour la désérialisation ...
merci.
cs_ducheseb
Messages postés344Date d'inscriptionmardi 18 mai 2004StatutMembreDernière intervention23 juin 20069 21 nov. 2005 à 23:30
En fait si tu ne mets pas de champs serialVersionUID, le compilateur calcule une valeur suivant ton code. Donc à chaque modif de code, le serialVersionUID change.
Lorsque tu déserialise un objet, il compare le serialVersionUID de l'objet avec celui de la classe et te renvoie une erreur si ce n'est pas le même.
Pour moi, il n'existe pas de solution de contournement. Lorsque tu sérialises un objet, il faut s'assurer que tu ne vas pas modifier la classe après sinon l'objet n'est plus lisible.
cs_ducheseb
Messages postés344Date d'inscriptionmardi 18 mai 2004StatutMembreDernière intervention23 juin 20069 21 nov. 2005 à 12:57
Si c'est une classe à toi, tu peux ajouter une variable static final long serialVersioUID = 1L; et tu incrémentes cette valeur à chaque modif de la classe
jcodeunpeu
Messages postés365Date d'inscriptionmercredi 9 novembre 2005StatutMembreDernière intervention 2 décembre 20062 21 nov. 2005 à 16:00
Salut ducheseb,
merci, mais alors comment cela fonctionne ?
peut donner quelques détails sur la manipulation effectuée en rapport avec ce champ ?
de toute façon, je fais comme tu dis mais justement est-ce que ce ne serait pas la solution au probleme de désérialisation d'un objet alors qu'on a modifié la classe , entrainant une invalidClassDescException ou quelque chose dans le genre ?