Je n'arrive pas à m'expliquer pourquoi ce petit programme fonctionne comme ça. Pourquoi la variable est-elle modifiée dans la méthode main s'il s'agit d'un tableau et si ce n'est pas un tableau -> pas modifié.
Pourquoi dans un cas c'est un passage par variable (ou objet) et dans un autre par valeur?
Le résultat est :
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 public class TestMethodesVariables { public static void maMethode(String[] a){ a[0]="Ce n'est pas ma chaine"; } public static void maMethode(String a){ a="Ce n'est pas ma chaine"; } public static void main(String[] args) { String[] at = {"C'est ma chaine"}; String ax = "C'est ma chaine"; maMethode(ax); maMethode(at); System.out.println(at[0]); System.out.println(ax); } }
Ce n'est pas ma chaine
C'est ma chaine
Partager