Est-il possible de passer des objets mutables par valeur à une fonction dans java? Ce que je veux réellement, c'est passer un objet à une méthode, y faire des opérations (le changer) et encore appeler cette méthode avec cet ancien objet seulement (pas la valeur changée).Comment passer des objets mutables par valeur à java
voici quelques échantillons:
{ MyObj obj = new MyObj(); obj.setName("name");
append(obj);
System.out.println(obj.name);
prepend(obj);
System.out.println(obj.name);
}
void append(MyObj obj){ obj.name+="1"; }
void prepend(MyObj obj){ String a = "1"; obj.name=a+obj.name; }
A la fin de ce code, je veux que la sortie:
name1
1name
Vous n'obtiendrez cette sortie que si l'objet * est * muté, n'est-ce pas? Comment vous attendez-vous à savoir que vous voulez ignorer le "1" * ajouté seulement après le premier appel à 'println' *? –
c'est ce que je veux savoir. Comment puis je faire ça? – Anand