un exemple qui reproduit mon problème :

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
public class Bidon {
 
  private int[][] tableau = new int [2][2];
 
  public Bidon (int [][] newTableau) {
    tableau = newTableau;
  }
 
  public void modifyTab() {
    tableau[0][0] += 1;
  }
 
  public int[][] getTab() {
    return tableau;
  }
 
  public void test() {
    Bidon temp = new Bidon(this.tableau.clone());
    temp.modifyTab();
    System.out.println(tableau[0][0]+"   "+temp.getTab()[0][0]); 
  }
}
et la classe test

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
public class TestBidon
{
	public static void main(String[] args){
	    int[][] newtab = {{1,2},{3,7}};
	    Bidon tab = new Bidon(newtab);
	    tab.test();
	   }
}
j'ai epluché plusieurs article sur clone(), mais aucun ne resoud vraiment le problème de cette maniere (et on comprend pourquoi vu que ca ne marche po) . pourtant ca me semble logique , mais avec tout ces pointeurs caché je ne sais plus vraiment ce que je manipule.
merci d'avance

[ Modéré par SEMPERE Benjamin ]
Ajout des balises code
Les Règles du Forum