Bonjour, ça fait un moment que je cherche une solution à mon problème, donc j'ai décider de le poster sur le forum pour voir si quelqu'un aurai une solution.
J'ai une classe X qui contient une liste d'objet Y.
Et plus exactement une arrayList.
Alors les modifications que je fais sur un objet de la listeY sont appliquées dans X1 et dans X2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 public class X { private ArrayList<Y> listeY; } public class main{ public static void main(String[] args) { X x1 = new X(); x1.listeY.get(0).setAttribut() = 5 X x2 = new X(x1) //Car j'ai besoin de modifier les valeur de x1 sans toucher à x1) x2.listeY.get(0).setAttribut() = 8 } }
J'ai essayer d'implementer la classe Cloneable, de creer des nouvelles instances chaques fois que je creer un objet copie d'un otre, et d'autres....
J'ai bien compris c'est du au passage par référence. Mais je ne vois pas comment faire.
Ce n'est évidemment pas mon code, mais le problème est là.
Si vous pouviez m'aider svp ?!
Merci d'avance.
Partager