Integer in String umwandeln

Aber mal ganz ehrlich: Da bist du nicht selber auf die Idee gekommen, mal im Internet nach "java integer to string" zu suchen?
Google gibt dir dafür sogar schon ein "Feature Snippet" Ergebnis. Du müsstest also noch nicht einmal mehr auf einen Link klicken.
Also, seriously, manchmal bin ich wirklich erstaunt, wie unfassbar hilflos/unselbständig manche Leute sind...
Das musste wirklich mal gesagt werden.
 
Aber mal ganz ehrlich: Da bist du nicht selber auf die Idee gekommen, mal im Internet nach "java integer to string" zu suchen?
Google gibt dir dafür sogar schon ein "Feature Snippet" Ergebnis. Du müsstest also noch nicht einmal mehr auf einen Link klicken.
Also, seriously, manchmal bin ich wirklich erstaunt, wie unfassbar hilflos/unselbständig manche Leute sind...
Das musste wirklich mal gesagt werden.
hab es zwar gefunden, aber ich habe es bei mir ausprobiert und es ging nicht, und dann dachte ich , dass ich nicht mehr voran komme
 
Es gibt reichlich Möglichkeiten, aus irgendwas Text zu machen. Der klassische Hack ist
Java:
"" + myIntNumber
Richtiger wäre natürlich ein Formatter mit passend konfiguriertem DecimalFormat, aber das geht wohl über das hinaus, was du erreichen willst.
 
Es gibt reichlich Möglichkeiten, aus irgendwas Text zu machen.
Wobei die Möglichkeiten unter dem Strich immer wieder auf das Gleiche hinaus laufen. An der Stelle einfach einmal etwas in die Details geschaut:

Das "" + myIntNumber wird zu folgendem:
1. Wenn bei dem + Operator ein Operand ein String ist, dann wird der zweite Teil zu einem String gemacht (JLS 15.18.1)
2. Dies erfolgt nach den Vorgaben der JLS 5.1.11, was bedeutet:
2.1 Aus einem int Wert wird ein Integer erstellt mit new Integer(value);
2.2 Es wird toString() auf der Referenz aufgerufen.
Was dann passiert können wir auf dem Source ansehen - z.B. hier mal von OpenJDK 8.
2.2.1 toString() ruft static toString(int) auf (Das war der Vorschlag von @httpdigest in #2!
2.2.2 toString(int) erstellt den String

Was man nun noch ansehen könnte: String.valueOf(int)
Da könnte man also auch einmal im Sourcecode des OpenJDK nachsehen:
- String.valueOf(int) ruft einfach ein Integer.toString(int) auf.

Generell bin ich ein Freund davon, Code immer so lesbar wie möglich zu gestalten. was einem aber am Beste gefällt, das darf jeder für sich selbst entscheiden. So nutze ich sehr gerne die Variante von @Neumi5694. Die gefällt mir gut, weil sie einfach schnell zu lesen und zu schreiben ist. Ich sehe da aber durchaus mögliche Probleme bei der Reihenfolge und so: Der String kann auch am Ende sein, also sowas wie intWert + ".ter Platz" geht auch. Und nun kann ich evtl. davor noch eine andere Zahl schreiben und schreibe etwas wie: intWert1 + intWert2 + "xxxx" oder so. Abarbeitung links nach rechts und man hat eine Addition zuerst. Daher müsste dies ergänzt werden mit zusätzlichen Regeln a.la. "Bitte immer mit String Literal anfangen. ... Also es wird gleich deutlich: Es ist nicht "unproblematisch".


Aber mit der Exkursion haben wir dann die üblichen Verdächtigen abgehandelt denke ich mal:
  • Integer.toString(int)
  • String.valueOf(int)
  • "" + intValue
 
Und auch MessageFormat.format. Das ist mein bevorzugter Weg bei Ressourcen, die ggf. auch noch übersetzt werden. Die {1}, {2}, ... finde ich etwas besser geeignet um halt ggf. Positionen auch zu vertauschen. Geht mit String.format natürlich auch, dass man die Parameter-Nummer mit angibt so dass die Reihenfolge der Argumente nicht gleich dem Vorkommen ist, aber das sieht man irgendwie sehr selten (Zumindest ich habe das bisher irgendwie in der freien Wildbahn in Projekten bisher nicht gesehen...).
 

Neue Themen


Zurück
Oben