2016-03-30 6 views
1

Ich lernte ursprünglich, dassJava + = Operator?

string += otherString; die gleiche wie string = string + otherString;

, fand ich jedoch, dass string += char1 + char2 eine Ausnahme ausgelöst wird, während string = string + char1 + char2 nicht. Bei der Verkettung von Zeichen mit Zeichenfolgen füge ich normalerweise eine leere Zeichenfolge hinzu, damit ich die Ausnahme nicht erhalte, aber warum ist das überhaupt nötig?

+0

http://stackoverflow.com/questions/8710619/java-operators – Gendarme

+0

Ah, sieht aus wie es schon gefragt wurde. Vielen Dank! – DZD

Antwort

1

Siehe this post. Das Ergebnis des Hinzufügens eines Zeichens zu einem anderen Zeichen ist ein Int, der der Zeichenkette nicht hinzugefügt werden kann. Während mit s = s + c1 + c2 der Operator '+' von links nach rechts verknüpft wird, werden die Zeichen so konvertiert, dass sie in die String-Verkettung passen.