Bonjour, (surtout n'hésitez pas à me corrigé car il se peut que cela soit moi qui ai mal compris)
Je me pose une question sur la classe String de Java. Notre prof nous à dit que lorsque l'on créé une instance de cette classe et que l'on change la valeur par exemple:
La chaîne "toto" n'est pas effacé mais est gardé en mémoire (alors déjà est-ce dans le tas ou dans la pile ?) et recréé une instance contenant la chaine "titi" puisque c'est un objet non mutable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 String ch = "toto"; ch = "titi";
Mais si à chaque fois que je change ma String "ch", l'ancienne valeur est resté en mémoire cela peut prendre énormément de place et surtout cela n'est pas très sécurisé car je suis sur qu'un petit malin peut malgré tout allé fouillé dans la mémoire pour trouvé toutes les valeurs de "ch". Et que donc il fallait mieux utiliser des StringBuffer à la place des String.
Alors je voudrais savoir si cela est vrai mais surtout avoir plus de détail et d'explications sur ce fonctionnement car je n'ai rien trouvé sur le net
Merci d'avance![]()
Partager