Pourquoi la méthode concat () de Java ne fait rien?
Ce code:
String s = "TEST";
String s2 = s.trim();
s.concat("ING");
System.out.println("S = "+s);
System.out.println("S2 = "+s2);
résultats de cette sortie:
S = TEST
S2 = TEST
BUILD SUCCESSFUL (total time: 0 seconds)
Pourquoi "TEST" et "ING" pas concaténé?
source d'informationauteur soma sekhar
Vous devez vous connecter pour publier un commentaire.
une Chaîne de caractères est immuablece qui signifie que vous ne peut pas modifier une Chaîne de caractères en Java. concat() retourne une nouvelle, concaténées chaîne.
Parce que
String
est immuable de la classeString
ne contient pas de méthodes que de modifier le contenu de laString
objet lui-même. Leconcat()
méthode retourne une nouvelleString
qui contient le résultat de l'opération. Au lieu de cela:Essayez ceci:
Je pense que ce que vous voulez faire est:
La fonction concat ne modifie pas la chaîne s, elle retourne s avec l'argument ajouté.
concat
retourne une chaîne de caractères, de sorte que vous êtes essentiellement appel concat sans stocker de quoi il en retourne.Essayez ceci:
Doit d'impression:
.concat()
méthode retourne un nouvel concaténées valeur.là, vous avez
s.concat("ING")
--> ce qui donne de la valeur de retour de "Test". Mais vous devez le recevoir dans la variable déclarée.Si vous n'avez
s=s.concat("ING");
alors la valeur de "s" se transforme en "TEST"Que String est immuable quand concat() est appelée sur n'importe quelle Chaîne obj comme
String s ="abc";
nouvelle Chaîne obj est créé dans la Chaîne de piscine ref par s
s = s.concat("def");
voici encore une Chaîne obj avec val abcdef est créé et référencé par s