Bonjour,
J'ai un probléme tout simple et compliqué à la fois (du moins pour moi). J'ai une methode récursive avec deux paramétres un tableau de type String et un ArrayList.
Au bout de quelques lignes de codes je fais appel à cette même méthode (appel récursive). Jusqu'à là, c'est bien, sauf que si je modifie un paramétre dans la focntion, la variable recevant l'argument change aussi. Je sais que Java passe les objets par reference, mais c'est là mon probleme. Je vais faire un shema...
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
 
ArrayList<String> TableauFinal;
 
public void maMethode(String[] tableau, ArrayList<String> Array1){
 
TableauFinal.clear();
 
     for(int i = 0; i<tableau......){
          for(int j = 0; j<Array1.sise(); ........ ){
             TableauFinal.add(Array1.get(j) + tableau[i]);
             .........
         }
    }
 
    if (x<y) 
    {
       maMethode(tableau, TableauFinal);
    }
}
Tou marche bien lors de la premiére Iteration, mais des que je vide TableauFinal l'autre ArrayList Array1 se vide aussi, car ils pointent sur la même reference. Ma question comment faire pour eviter cette copie ? Ou existe-il un élément à ajouter pour réaliser ça.

Merci