String.concat() nicht tun Verkettung
Ich versuche zu verketten einer Zeichenfolge mit einem int-und char mit Leerzeichen, aber nicht immer alle Verkettung. Was ist der Grund?
private String messages;
Random r = new Random();
int random = r.nextInt(1000);
char ch='s';
messages.concat(String.valueOf(random));
messages.concat(" ");
messages.concat(String.valueOf(ch));
messages.concat(" ");
- Sie müssen zum zuweisen der Rückgabewert von
concat()
.String
unveränderlich ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
concat
nicht verändern, die dem aufrufenden strings, gibt aber einen neuen.Ordnen Sie jedes resultierende
String
zu Ihrem Ergebnis wie dieser.-Oder einfach nur die überladene operator
+
"yourString".concat(message);
wenn Sie möchten, verwenden Sie eine Methode aufrufen.+
Betreiber wieder, so etwas wieresultingString = specifiedString + originalString
Strings
sind unveränderlich. Sie können entweder Anhängen und das Ergebnis mitString
Verkettung, wie gezeigt, in anderen Antworten oder können SieStringBuilder
Haben Sie einen Blick auf Wie kann ich die verketten Sie zwei strings in Java?
Edit: (einfügen am Anfang der
String
)StringBuilder
hat ein einfügen - Methode mit einem offset positionBessere Weg ist :
messages
zu "" in seiner ErklärungString sollte NEU belegt werden, wenn Sie beim Bearbeiten eines String-Objekts, erstellen Sie ein neues String-Objekt im String constant pool, aber Sie nicht zuordnen dieser neuen String-Wert zu einer Bezugsgröße, so dass Sie brauchen, um neu zu ordnen Sie, wie sich Ihre änderungen auf die GLEICHE REFERENZ-VARIABLE, die Sie erstellt