Références des objets d'un ArrayList
Bonjour, pour ne pas perdre de temps, voici un bout de code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| //Création d'entreprises.
Entreprise e1 = new Entreprise();
e1.setNom("Entreprise numéro Une");
Entreprise e2 = new Entreprise();
e2.setNom("Entreprise numéro Deux");
//Ajout des entrprises dans une liste typée.
List<Entreprise> liste = new ArrayList<Entreprise>();
liste.add(e1);
liste.add(e2);
//Création d'une nouvelle liste avec les mêmes valeurs que celle créée précédemment.
List<Entreprise> nouvelleListe = new ArrayList<Entreprise>(liste);
//Je modifie le nom de la première entreprise de la liste
nouvelleListe.get(0).setNom("test");
System.out.println(liste.get(0).getNom());
System.out.println(nouvelleListe.get(0).getNom()); |
Résultat: cela affiche la même chose. Ce qui est normal car les élements de nouvelleListe pointent sur ceux de liste.
Ma question :
Mais comment y remédier sachant que je voudrais que seules les valeurs de nouvelleListe soient éditées ?