55 votes

Quand dois-je modifier le serialVersionUID ?

Je sais que je peux utiliser serialVersionUID pour contrôler la version des classes. Et j'ai lu que je peux ensuite ajouter ou supprimer des champs et que la classe sera toujours compatible, elle utilisera simplement les valeurs par défaut.

Lorsque doit Je change le serialVersionUID ?

0 votes

0voto

Peter Lawrey Points 229686

Vous pouvez définir serialiVersionUID à la même valeur pour toute la durée de vie de la classe. (Ce n'est pas toujours une bonne idée) Remarque : vous pouvez mettre en œuvre votre propre stratégie de vérification de la version de sérialisation avec readObject/writeObject si vous en avez besoin et laisser l'UID inchangé.

La seule fois où vous DEVEZ le modifier est si vous avez déjà sérialisé des données dans un fichier et que vous voulez les lire. S'il a changé pour une raison quelconque, vous DEVEZ définir le serialiVersionUID sur la version du fichier pour avoir une chance de pouvoir lire les données.

0 votes

C'est plutôt une indication que vous n'auriez pas dû le changer en premier lieu.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X