Bonjour tout le monde,
J'ai une question concernant la modification des variables que l'on passe en paramètre d'une méthode ayant un effet de bord dessus.
je vous donne mon code:
Ca me retourne ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public class TestInt { public void modifierInt(int i) { ++i; System.out.println("i = " + i); } public static void main(String[] args) { int j = 3; new TestInt().modifierInt(j); System.out.println("j = " + j); } }
Je m'attendais plutôt à ce qu'il me dise: j = 4, dans la mesure où i est un type primitif (int), donc il n'y a pas d'histoire de copie de références..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 i = 4 j = 3
Pourriez-vous m'éclairer SVP?
D'avance merci
Partager