Freitag, 9. August 2019

Strings aneinanderhängen

Diese Situation dürfte jeder schon einmal erlebt haben: Wir haben eine Liste mit String-Objekten und möchten diese zu einem String verbinden. Dabei sollen die einzelnen Elemente durch Kommas, Bindestriche oder sonst irgendeinem Zeichen voneinander getrennt werden.

Was programmiert man? Man baut eine for-each-Schleife, die durch die Liste läuft und die Strings aneinander hängt. Dann muss noch eine if-Anweisung rein, damit das Trennzeichen nicht noch an das letzte Element in der Ausgabe angehängt wird. Und schon hat man einiges an Programmieraufwand.

Seit Java 8 ist das anders. Die Klasse String stellt die statische Methode join() zur Verfügung. Diese erhält als Übergabe ein Trennzeichen und einen Iterable (z.B. eine Liste) mit den Strings. Und um den Rest kümmert sich die Methode. Im Folgenden ist ein kleines Beispiel zu sehen:

List<String> workdays = Arrays.asList("Montag", "Dienstag",
            "Mittwoch", "Donnerstag", "Freitag");
String joinedWorkdays = String.join(" - ", workdays);
System.out.println(joinedWorkdays);

In diesem Fall lautet die Ausgabe also:

Montag - Dienstag - Mittwoch - Donnerstag - Freitag

Keine Kommentare:

Kommentar veröffentlichen