Je ne comprends pas pourquoi. La portée des variables dépends si c'est 1 tableau
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? :cfou:
Code:
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);
}
} |
Le résultat est :
Ce n'est pas ma chaine
C'est ma chaine