Java:
Zeichenketten interpolieren
How to:
Java bietet keine eingebaute String-Interpolation wie einige andere Sprachen. Aber seit Java 5 verwenden wir printf
oder String.format
. Ab Java 8 können wir auch die MessageFormat
-Klasse nutzen.
public class StringInterpolationBeispiel {
public static void main(String[] args) {
String name = "Welt";
int anzahl = 3;
// Mit String.format
String begruessung = String.format("Hallo %s! Ich sehe dich zum %d. Mal.", name, anzahl);
System.out.println(begruessung);
// Mit printf
System.out.printf("Hallo %s! Ich sehe dich zum %d. Mal.%n", name, anzahl);
}
}
Ausgabe:
Hallo Welt! Ich sehe dich zum 3. Mal.
Hallo Welt! Ich sehe dich zum 3. Mal.
Deep Dive:
Historisch gesehen, bevorzugten Java-Entwickler die String-Konkatenation mit dem +
-Operator. Nach der Einführung von printf
und String.format
in Java 5 adaptierte die Gemeinschaft schnell die Formatierungsmöglichkeiten im Stil von printf
aus C.
Alternativen zu String.format
:
StringBuilder
oderStringBuffer
: Für komplexe oder performance-kritische Stringoperationen.MessageFormat
: Bietet erweiterte Funktionen wie z.B. wählen von Textformen je nach Zahl (Mehrzahl, Einzahl).
Implementierungsdetails:
String.format
undprintf
verwenden internFormatter
.- Die Performance von
String.format
undprintf
kann geringer sein als die vonStringBuilder
-Operationen.