Comment prouver que les chaînes sont immuables
J'ai écrit deux articles sur l'immuabilité des chaînes, et j'ai eu envie de vomir jusqu'à la fin . Mais il y a encore des étudiants qui ne comprennent pas. De temps en temps, quelqu'un m'envoie un message privé, et je dois mettre l'article précédent dans mes favoris. Lorsqu'on me le demande, je lui envoie le lien.
Il existe de nombreux facteurs qui provoquent cette confusion. Par exemple, Java est-il transmis par valeur ou par référence ? Quel est le pool de constantes de chaîne
Ce n'est pas possible cette fois Don ? Je n'en parle pas, même si j'en ai marre, je dois encore le prouver ! s1 = "Silent King II", Java Créez un objet de la chaîne "Silent Wang Er" dans le pool de constantes de chaîne et attribuez la référence d'adresse à s1
2) Chaîne s2 = s1, s2 et s1 pointe vers la même référence d'adresse - Le "Silent King II" dans le pool constant.
Donc, à ce moment, s1 == s2 est vrai.
3)s1 = "Silent Wang San", Java crée un objet de la chaîne "Silent Wang San" dans le pool de constantes de chaîne et attribue la référence d'adresse à s1, mais s2 pointe toujours vers lui est la référence d'adresse de l'objet chaîne de caractères "Silent King Er".
Donc, à ce moment, s1 == s2 est faux, et le résultat de sortie de s2 est "Silent Wang Er", ce qui prouve que la chaîne est immuable.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!