voici mon 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;
j'aimerai comprendre un peu les objects dans ce code:

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 !