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:
StringBuilderoderStringBuffer: 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.formatundprintfverwenden internFormatter.- Die Performance von
String.formatundprintfkann geringer sein als die vonStringBuilder-Operationen.