Bonjour,
je débute avec java et je ne comprends pas pourquoi dans le code qui suit, mon tableau (ArrayList) "lettreHazard" est modifié.
Je pensais qu'en donnant "lettreHazard" comme paramètre dans myFunction(charList), c'est le ArrayList "charList" qui allait être modifié sans toucher a "lettreHazard".
Merci pour votre aide!

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
32
33
34
 
import java.util.ArrayList;
 
 
public class essai {
 
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ArrayList<String> lettreHazard = new ArrayList<String>();
 
        lettreHazard.add(0, "p");
        lettreHazard.add(1, "e");
        lettreHazard.add(2, "l");
        lettreHazard.add(3, "a");
        lettreHazard.add(4, "n");
        lettreHazard.add(5, "z");
        lettreHazard.add(6, "h");
        lettreHazard.add(7, "a");
        lettreHazard.add(8, "c");
 
        System.out.println("HAZARD-AVANT=" + lettreHazard);
        System.out.println(myFunction(lettreHazard));
        System.out.println("HAZARD-APRES=" + lettreHazard);
    }
    private static Boolean myFunction( ArrayList<String> charList){
        charList.remove(3);
        return true;
 
    }
 
}
retourne

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
HAZARD-AVANT=[p, e, l, a, n, z, h, a, c]
true
HAZARD-APRES=[p, e, l, n, z, h, a, c]