Was passiert hier genau (Typumwandlung)?

2 Antworten

Ein + kann eben nur benutzt werden, um etwas an einen String anzufügen. Ansonsten, falls auf beiden Seiten des Plusses kein String ist, bedeutet ein + immer addieren.

Wenn ich ein + bei Chars benutze, dann werden einfach die int-Werte dieser Chars addiert. Weil eben kein String vorkommt.

System.out.println('H'+'a'); // = 169

Liegt wohl einfach daran, dass die Java Entwickler nicht daran gedacht haben, dass jemand mehrere Chars mit Plus zu einem String verbinden möchte, oder diese Idee warum auch immer nicht gut fanden. Ein leerer String, also ein einfaches ""+ davor, löst dein Problem auch.

Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf

Ein Char ist nichts weiteres als eine Zahl. Entsprechend ist die Addition darauf eben wie eine arithmetische Addition definiert und nicht wie eine Konkatination.