Wer schon ein paar Monate mit Java arbeitet, kennt das Problem: Man möchte längere Texte in seinen Code schreiben - etwa ein JSON, ein SQL-Statement oder einfach einen mehrzeiligen String. Und dann beginnt das Chaos. Überall Anführungszeichen, Escape-Zeichen und Zeilenumbrüche mit \n. Der Code wird unübersichtlich und fehleranfällig. Genau hier kommen Textblöcke ins Spiel - eine der angenehmsten Neuerungen, die Java in den letzten Jahren eingeführt hat.
Ein Textblock ist eine spezielle Schreibweise für Strings, die mit drei Anführungszeichen (""") beginnt und endet. Alles, was dazwischen steht, gehört zum String - inklusive Zeilenumbrüche und Einrückungen. Textblöcke gibt es seit Java 15 (als finale Version). Sie machen es extrem einfach, mehrzeilige Texte im Code zu schreiben, ohne Escape-Zeichen oder unübersichtliche Verkettungen.
String text = """
Das ist ein Textblock.
Er kann mehrere Zeilen enthalten.
Und Java kümmert sich um die Zeilenumbrueche.
""";
System.out.println(text);
Ausgabe:
Das ist ein Textblock.
Er kann mehrere Zeilen enthalten.
Und Java kuemmert sich um die Zeilenumbrueche.
Schon auf den ersten Blick sieht man: Der Code ist viel sauberer. Kein \n, kein Pluszeichen, keine Verwirrung - einfach Text, wie man ihn haben möchte.
Früher musste man Strings, die sich über mehrere Zeilen erstreckten, so schreiben:
String oldWay = "Das ist ein langer Text,\n" +
"der sich ueber mehrere Zeilen erstreckt.\n" +
"Man musste jedes Mal Anfuehrungszeichen und Pluszeichen setzen.";
System.out.println(oldWay);
Das funktioniert zwar, ist aber schwer zu lesen. Mit Textblöcken dagegen sieht man sofort, wie der Text tatsächlich aussieht. Besonders hilfreich ist das, wenn man z. B. SQL oder JSON in Java einbettet.
String sql = """
SELECT id, name, email
FROM users
WHERE active = true
ORDER BY name;
""";
System.out.println(sql);
Ausgabe:
SELECT id, name, email
FROM users
WHERE active = true
ORDER BY name;
Das ist nicht nur übersichtlicher, sondern minimiert auch Fehler - gerade für Einsteiger, die noch nicht gewohnt sind, Escape-Zeichen richtig zu setzen.
Vielleicht hast du dich schon gefragt: „Zählen die Leerzeichen am Anfang jeder Zeile auch zum Text?“ Die Antwort ist: nur die, die Java als Teil des Inhalts erkennt. Java entfernt automatisch die gemeinsame Einrückung aller Zeilen. Das bedeutet: Du kannst deinen Textblock ordentlich eingerückt schreiben, und er sieht trotzdem beim Ausgeben richtig aus.
String html = """
Hallo Welt
""";
System.out.println(html);
Ausgabe:
Hallo Welt
Wie du siehst, wird der Text so ausgegeben, wie du ihn geschrieben hast - nur ohne unnötige Leerzeichen am Anfang jeder Zeile.
Natürlich kannst du auch Variablen in Textblöcken verwenden - genau wie bei normalen Strings. Mit String.format() oder System.out.printf() geht das sehr elegant:
String name = "Marcy";
String greeting = """
Hallo %s!
Willkommen in der Welt der Textbloecke.
""".formatted(name);
System.out.println(greeting);
Ausgabe:
Hallo Marcy!
Willkommen in der Welt der Textbloecke.
Mit der formatted()-Methode kannst du also Platzhalter (%s, %d usw.) direkt im Textblock verwenden, ähnlich wie in printf.
Wenn du in einem Textblock trotzdem einmal ein Anführungszeichen oder ein Tab-Zeichen brauchst, kannst du weiterhin klassische Escape-Sequenzen nutzen:
String json = """
{
\"name\": \"Marcy\",
\"age\": 45,
\"active\": true
}
""";
System.out.println(json);
Ausgabe:
{
"name": "Marcy",
"age": 45,
"active": true
}
Java erkennt automatisch, dass du in diesem Fall innerhalb des Textblocks ein Anführungszeichen brauchst und behandelt es entsprechend.
Textblöcke machen das Leben deutlich leichter - besonders für Einsteiger. Du kannst Texte schreiben, wie du sie dir vorstellst, ohne dich um jedes Anführungszeichen und jede Escape-Sequenz kümmern zu müssen. Gerade bei JSON, HTML oder SQL wirst du schnell merken, wie viel sauberer und verständlicher dein Code wird. Merke dir einfach: Wenn du einen String mit drei Anführungszeichen beginnst und beendest, schreibst du einen Textblock. Und dieser verhält sich fast genauso wie ein normaler String - nur eben deutlich angenehmer. Wenn du das nächste Mal also ein SQL-Statement oder eine HTML-Struktur in deinen Code einfügst: Greif zu Textblöcken. Dein zukünftiges Ich wird dir danken!

Hi, ich bin Marcel!
Als Fachinformatiker für Anwendungsentwicklung und IHK-geprüfter Ausbilder teile ich auf meinem Blog Grundlagen- und Fortgeschrittenen-Wissen für angehende Entwickler*innen und Interessierte, sowie weitere spannende Themen aus der IT.