String.concat () führt keine Verkettung durch

7

Ich versuche, einen String mit einem int und char einschließlich Leerzeichen zu verketten, aber keine Verkettung zu bekommen. Was ist der Grund?

%Vor%     
Pixel Elephant 09.09.2013, 20:33
quelle

5 Antworten

17

concat ändert die aufrufenden Zeichenfolgen nicht, sondern gibt eine neue zurück.

Sie können jede resultierende String Ihrem Ergebnis wie folgt zuweisen .-

%Vor%

Oder verwenden Sie einfach den überladenen Operator +

%Vor%     
ssantos 09.09.2013, 20:36
quelle
10

Strings sind unveränderlich. Sie können das Ergebnis entweder mit String verketten, wie in anderen Antworten gezeigt, anhängen, oder Sie können StringBuilder

%Vor%

Sehen Sie sich Wie verkette ich zwei Strings in Java?

Bearbeiten: (zum Einfügen von String )

%Vor%     
Reimeus 09.09.2013 20:37
quelle
5

Ein besserer Weg ist:

%Vor%     
Stathis Andronikos 09.09.2013 20:45
quelle
2
%Vor%     
Cruncher 09.09.2013 20:35
quelle
0
%Vor%

String sollte RE-Assigned sein, wenn Sie ein String-Objekt bearbeiten, erstellen Sie ein neues String-Objekt im String-Konstanten-Pool, aber Sie haben diesen neuen String-Wert keiner Referenzvariablen zugewiesen, daher müssen Sie ihn neu zuweisen Ihre Änderungen an der SAME REFERENCE VARIABLE, die sie erstellt hat

    
Tere Bentikh 09.09.2013 20:39
quelle