voici mon code:
j'aimerai comprendre un peu les objects dans ce code:
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
29
30
31 Collection<ConfigEmission> configs = new ArrayList<ConfigEmission>(); Collection<ConfigEmission> copie = new ArrayList<ConfigEmission>(); configs = hM.values(); Iterator iterator = copie.iterator(); while (iterator.hasNext()) { ConfigEmission ancien = (ConfigEmission) iterator.next(); ConfigEmission nouveau = new ConfigEmission(); nouveau.setScenario(ancien.getScenario()); nouveau.setProtocol(ancien.getProtocol()); nouveau.setCallTo(ancien.getCallTo()); nouveau.setCaller(ancien.getCaller()); nouveau.setMaxCom(ancien.getMaxCom()); nouveau.setMinCom(ancien.getMinCom()); nouveau.setMaxRing(ancien.getMaxRing()); nouveau.setMinRing(ancien.getMinRing()); nouveau.setMaxDelay(ancien.getMaxDelay()); nouveau.setMinDelay(ancien.getMinDelay()); nouveau.setNbTotalCall(ancien.getNbTotalCall()); nouveau.setMaxCall(ancien.getMaxCall()); copie.add(nouveau); } moteur = new Moteur(configs); moteur.start(); configs = copie;
hM (qui est de type hashMap(), configs et copie pointe sur un object identique (même si hM pointe sur d'autres): vrai ou faux ?
y'a t'il un moyen de faire en sorte que copie et configs aient les même valeurs mais ne soit pas le même object ( copier configs dans copie pour pouvoir modifier configs et garder un original grâce à copie)?
mieux ! est il possible de modifier configs sans modifier hM (ce qui nous débarasse de copie) ?
je sais pas si j'ai été clair ? dites le moi ...
sinon merci !
Partager