Bonjour à tous les experts java qui passeraient par là car j'ai besoin de vos lumières !
Je m'explique : dans un projet perso j'ai une classe java (toto) qui est "serializable" et j'ai créé 2 fonctions toto.backup() et toto.restore() pour sauvegarder l'état des données de l'objet en mémoire (dans un byte[]) , puis restaurer cet état quand j'en ai besoin.
Pour sérialiser via toto.backup(), pas de soucis c'est automatique grâce au mécanisme java (je peux ajouter de nouveaux champs de données dans la classe et ils seront pris en compte sans écrire une ligne de code).
Par contre pour "désérialiser" via toto.restore() , vu que "this" est read only , je dois passer par un objet temporaire (tmp) puis affecter par code
this.x=tmp.x this.y=tmp.y etc... du coup si j'ajoute des champs de données je dois aussi ajouter des lignes de code dans la fonction restore() [d'où un risque d'oubli et de bugs]
Question: est-il possible d'automatiser le toto.restore() pour qu'il restaure tous les champs via un mécanisme de reflexion (que je n'ai jamais utilisé) ou autre ?
Si vous avez un petit exemple ça serait top![]()
Partager