• IT-Karriere:
  • Services:

Programmiersprache: Java 13 bringt mehrzeilige Strings mit Textblöcken

Die Sprache Java steht im Ruf, eher umständlich zu sein. Die Entwickler versuchen aber, viel daran zu ändern. Mit der nun verfügbaren Version Java 13 gibt es etwa Textblöcke, mit denen sich endlich angenehm und ohne unnötige Umstände mehrzeilige Strings definieren lassen.

Artikel von Nicolai Parlog veröffentlicht am
Java 13 ist verfügbar und bringt einen besseren Umgang mit Strings.
Java 13 ist verfügbar und bringt einen besseren Umgang mit Strings. (Bild: Couleur/Pixabay)

Heute erscheint Java 13. Neben sonst eher unauffälligen Neuerungen erweitert das Release die Sprache um mehrzeilige String-Literale, in Javas Jargon Textblöcke oder text blocks, die mit JEP 355 eingeführt wurden. Damit lassen sich etwa beim Logging bequem längere Textausgaben erzeugen, Schnipsel in anderen Sprachen wie HTML oder JSON erstellen - was insbesondere so manche Tests lesbarer machen wird - oder gar SQL-Statements formulieren.

Zum Beispiel so:

  1. String jsonBlock = """
  2. {
  3. greeting: "Hallo",
  4. audience: "Welt",
  5. punctuation: "!"
  6. }
  7. """;

Zum Vergleich: Das Ergebnis ist identisch mit dieser klassischen und wesentlich unangenehmeren Variante:

  1. String jsonLiteral = ""
  2. + "{\n"
  3. + "\tgreeting: \"Hallo\",\n"
  4. + "\taudience: \"Welt\",\n"
  5. + "\tpunctuation: \"!\"\n"
  6. + "}\n";

Stellenmarkt
  1. ALBIS PLASTIC GmbH, Hamburg
  2. OEDIV KG, Bielefeld

Bevor man Textblöcke in Java 13 nutzen kann, muss man sie allerdings freischalten, denn sie sind zunächst nur als Feature-Vorschau enthalten. Zur Kompilierung und Ausführung auf der Kommandozeile oder im Build Tool muss an java und javac der Parameter --enable preview angehängt werden. In Eclipse gibt es in den Compiler-Optionen eine entsprechende Einstellung. In Intellij IDEA muss das Sprachlevel für das Modul passend gewählt werden.

Drei Anführungszeichen für einen Textblock

Textblöcke können überall verwendet werden, wo sonst klassische String-Literale "wie dieses" akzeptiert werden und sie haben eine einfache Syntax:

Sie beginnen mit drei Anführungszeichen und einem Zeilenumbruch. Sie enden mit drei Anführungszeichen, die entweder in der letzten Zeile des Blocks oder auf einer eigenen Zeile stehen. Innerhalb des Strings werden Escape-Sequenzen wie üblich interpretiert, die Strings sind also nicht roh.

Der Zeilenumbruch zu Beginn des Blocks wird dabei nicht Teil des abschließenden Strings. Stehen die abschließenden Anführungszeichen in einer eigenen Zeile, endet der String allerdings mit einem Zeilenumbruch; Zwischenraumzeichen in dieser Zeile, also zum Beispiel Leerzeichen und Tabs, werden nie Teil des Strings.

Da einzelne Anführungszeichen im Kontext eines Textblocks keine syntaktische Bedeutung haben, ihn also insbesondere nicht beenden, ist Escaping nicht nötig. Damit fällt die üblicherweise größte Quelle von Escape-Sequenzen weg und es wird wesentlich angenehmer, Sprachen wie HTML oder JSON in Java einzubetten.

Hat man einen Textblock im Quellcode untergebracht, ist es natürlich Aufgabe des Compilers, ihn zu verarbeiten. Wie, beleuchten die nächsten Seiten. Aber es ist sinnvoll, vorher kurz über das Ergebnis zu sprechen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Textblöcke und String-Literale sind ununterscheidbar 
  1. 1
  2. 2
  3. 3
  4. 4
  5.  


Anzeige
Hardware-Angebote
  1. täglich neue Deals bei Alternate.de

sambache 23. Sep 2019

Kurven und Graphen sind die Visualisierung von Zahlen. Symbole sind Strings der Länge 1...

Sybok 19. Sep 2019

Ach von Perl kommt es. OK, gut zu wissen. Für Murks halte ich es dennoch nicht, wenn es...

Sybok 19. Sep 2019

Ganz ehrlich: Ohne mich weiter informiert zu haben sagt mir mein Bauchgefühl auch, dass...

hl_1001 18. Sep 2019

Danke, stimmt. Habe auch bei meinem Umstieg von Java auf C# bald gesehen wie weit hinten...

CSCmdr 18. Sep 2019

Würde vielleicht helfen, ein paar Zeilenumbrüche mit entsprechenden Einrückungen zu...


Folgen Sie uns
       


Oneplus 8 Pro - Test

Das Oneplus 8 Pro hat eine Vierfachkamera, einen hochauflösenden Bildschirm mit hoher Bildrate und lässt sich endlich auch drahtlos laden - wir haben uns das Smartphone genau angeschaut.

Oneplus 8 Pro - Test Video aufrufen
    •  /