J'ai toujours appris la chose suivante au niveau de Java:
Pour les types de base (in extenso, tout ce qui n'est pas un objet) comme int, char...
Passage par valeur.
Pour les objets, passage par valeur de la référence (par abus de langage, passage par référence).
Or soit le code suivant:
Ce dernier affiche bonjour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 String mastring = "bonjour"; change(mastring); System.out.println(mastring); void change(String unestring) { unestring = "au revoir"; }
D'après moi, unestring et mastring référencent le même objet, donc si je modifie unestring, mastring devrait m'afficher au revoir.
String est une exception, j'ai rien capté, y'a une subtilité?
Merci d'avance de votre aide!
Partager