---
title: 'Strings zusammenhängen mit StringJoiner'
url: 'https://www.tutego.de/blog/javainsel/2014/01/strings-zusammenhngen-mit-stringjoiner'
markdown: 'https://www.tutego.de/blog/javainsel/2014/01/strings-zusammenhngen-mit-stringjoiner.md'
date: '2014-01-05'
description: 'Um String zu einem großen Ergebnis zusammenzuhängen gibt es mehrere Möglichkeiten: Zum einen der Plus-Operator, zum anderen StringBuilder/StringBuffer. Doch es geht noch ein bisschen einfacher, Teilstrings zu einem Gesamtstring zusammenzubauen. String bietet zum einen die praktische Hilfsmethode jo…'
taxonomy:
  category:
    - Insel
    - 'Java 8'
---

# Strings zusammenhängen mit StringJoiner

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://www.tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://www.tutego.de/blog/javainsel/)

## Strings zusammenhängen mit StringJoiner

05.01.2014 · [Christian Ullenboom](https://www.tutego.de/blog/javainsel/author/admin/)

Um `String` zu einem großen Ergebnis zusammenzuhängen gibt es mehrere Möglichkeiten: Zum einen der Plus-Operator, zum anderen StringBuilder/StringBuffer. Doch es geht noch ein bisschen einfacher, Teilstrings zu einem Gesamtstring zusammenzubauen. `String` bietet zum einen die praktische Hilfsmethode `join(…)`. Dahinter steht eine kleine Klasse `StringJoiner`, die auch direkt genutzt werden kann:

```java
StringJoiner sj = new StringJoiner( ", " );

sj.add( "1" ).add( "2" ).add( "3" );

System.out.println( sj.toString() ); // 1, 2, 3
```

Der Join-`String` ist vom Typ einer CharSequence und ist der Delimiter. Er wird zwischen jedes Element gesetzt, was hinzugefügt wurde. Die im Beispiel eingesetzte Methode `add(CharSequence)` nimmt ein CharSequence an und liefern den aktuellen `StringJoiner` zurück, sodass sich die `add(…)`-Aufrufe kaskadieren lassen. Mit der Methode `merge(StringJoiner)` lässt sich der Inhalt eines andere `StringJoiner` integrieren.

###### Zusammenhängen mit Infix, Prefix und Suffix

Nicht nur das Trennzeichen selbst lässt sich angeben, sondern auch ein Startzeichen und Endzeichen. Wenn etwa die Ausgabe vorne mit einem “{“ beginnen und hinten mit einem “}” enden soll, heißt es:

```java
StringJoiner sj = new StringJoiner( ", ", "{", "}" );
```

###### Nichts zum Zusammenhängen gegeben

Es kommt vor, dass dem `StringJoiner` nichts zum Zusammenfügen gegeben wird. Dann wird er dennoch Präfix und Suffix einsetzen.

```java
StringJoiner sj = new StringJoiner( ", ", "{", "}" );

System.out.println( sj.toString() ); // {}
```

Ist das unerwünscht, gibt `setEmptyValue(CharSequence)` ein Substitut an, das genau dann zum Zuge kommt, wenn kein `add(…)` etwas zum `StringJoiner` zufügte:

```java
StringJoiner sj = new StringJoiner( ", ", "{", "}" ).setEmptyValue("<nix>");

System.out.println( sj.toString() ); // <nix>
```

Zusammenfassend bietet die Klasse zwei Konstruktoren und fünf Methoden:

class `java.util`.**`StringJoiner`**

- `StringJoiner(CharSequence delimiter)`
- `StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)`
- `StringJoiner add(CharSequence newElement)`
- `StringJoiner merge(StringJoiner other)`
- `StringJoiner setEmptyValue(CharSequence emptyValue)`
- `int length()`
- `String toString()`

Kategorien: [Insel](https://www.tutego.de/blog/javainsel/category/insel/), [Java 8](https://www.tutego.de/blog/javainsel/category/java-8/)

[← Alle Beiträge](https://www.tutego.de/blog/javainsel/)

---

## Navigation

- Previous: [Aufzählung JDBCType, Schnittstelle SQLType in Java 8](https://www.tutego.de/blog/javainsel/2014/01/aufzhlung-jdbctype-schnittstelle-sqltype-in-java-8.md)
- Next: [Logger-Methoden logp(…)](https://www.tutego.de/blog/javainsel/2014/01/logger-methoden-logp-und-logrb.md)
