Passage par valeur ou par adresse?
Résolu
hdiama
Messages postés
190
Date d'inscription
Statut
Membre
Dernière intervention
-
hdiama Messages postés 190 Date d'inscription Statut Membre Dernière intervention -
hdiama Messages postés 190 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
public static String changer(String a){
a=a+"z";
return a;
}
public static void main(String[] args){
String a = "a";
System.out.println(changer(a));
System.out.println(a);
}
le résultat de a reste "a"... Pourquoi n'y a-t-il pas de changement?
public static String changer(String a){
a=a+"z";
return a;
}
public static void main(String[] args){
String a = "a";
System.out.println(changer(a));
System.out.println(a);
}
le résultat de a reste "a"... Pourquoi n'y a-t-il pas de changement?
4 réponses
-
-
-
Je suppose qu'il s'agit de Java? En 'C', nous aurions dit:
return a;
Ta fonction retourne une valeur... que tu n'utilises pas !
Pour cela il faudrait écrire:System.out.println(a = changer(a))
Est-ce vrai aussi en Java ? Je ne sais pas.
Bonne continuation. -
Oui, c'est bien en java.
Mais dans mon code principal, j'utilise bien une variable String mot, et c'est ce que je passe en paramètre... Pourquoi il ne fait pas les changements directement sur mot?