Bonjour à tous,
Je désire conserver le contenue d'origine d'une HashMap, aussi j'en fait une copie au début du programme, mais les modifications s'appliquent par défaut aux deux Map.
Comment éviter celà ?
Version imprimable
Bonjour à tous,
Je désire conserver le contenue d'origine d'une HashMap, aussi j'en fait une copie au début du programme, mais les modifications s'appliquent par défaut aux deux Map.
Comment éviter celà ?
Il faut réellement la copier, et non créer un nouveau pointeur.
Code:
1
2
3
4
5
6 Map<String,String> chaines = new HashMap<String,String>(); // Remplir chaines Map<String,String> sauvegarde = new HashMap<String,String>(chaines); // Faire modifications sur chaines et sauvegarde ne sera pas touchée.
En fait il faut se servir de la méthode clone de l'interface Cloneable pour créer un double d'un objet dans l'espace mémoire. Sinon, les deux objets pointent vers le même espace alloué.