Abo
  • IT-Karriere:

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. LOTTO Hessen GmbH, Wiesbaden
  2. Etkon GmbH, Gräfelfing

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.

Textblöcke und String-Literale sind ununterscheidbar 
  1. 1
  2. 2
  3. 3
  4. 4
  5.  


Anzeige
Spiele-Angebote
  1. (-78%) 2,20€
  2. 17,99€
  3. 69,99€ (Release am 21. Februar 2020, mit Vorbesteller-Preisgarantie)

sambache 23. Sep 2019 / Themenstart

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

Sybok 19. Sep 2019 / Themenstart

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

Sybok 19. Sep 2019 / Themenstart

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

hl_1001 18. Sep 2019 / Themenstart

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

CSCmdr 18. Sep 2019 / Themenstart

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

Kommentieren


Folgen Sie uns
       


Nokia 6.2 und 7.2 - Hands on

Das Nokia 6.2 und das Nokia 7.2 sind zwei Android-Smartphones im Mittelklassesegment. Beide sind Teil des Android-One-Programms und dürften entsprechend schnelle Updates erhalten.

Nokia 6.2 und 7.2 - Hands on Video aufrufen
Atari Portfolio im Retrotest: Endlich können wir unterwegs arbeiten!
Atari Portfolio im Retrotest
Endlich können wir unterwegs arbeiten!

Ende der 1980er Jahre waren tragbare PCs nicht gerade handlich, der Portfolio von Atari war eine willkommene Ausnahme: Der erste Palmtop-Computer der Welt war klein, leicht und weitestgehend DOS-kompatibel - ideal für Geschäftsreisende aus dem Jahr 1989 und Nerds aus dem Jahr 2019.
Ein Test von Tobias Költzsch

  1. Retrokonsole Hauptverantwortlicher des Atari VCS schmeißt hin

Alexa: Das allgegenwärtige Ohr Amazons
Alexa
Das allgegenwärtige Ohr Amazons

Die kürzlich angekündigten Echo-Produkte bringen Amazons Sprachassistentin Alexa auf die Straße und damit Datenschutzprobleme in die U-Bahn oder in bisher Alexa-freie Wohnzimmer. Mehrere Landesdatenschutzbeauftragte haben Golem.de erklärt, ob und wie die Geräte eingesetzt werden dürfen.
Von Moritz Tremmel

  1. Digitaler Assistent Amazon bringt neue Funktionen für Alexa
  2. Echo Frames und Echo Loop Amazon zeigt eine Brille und einen Ring mit Alexa
  3. Alexa Answers Nutzer smarter Lautsprecher sollen Alexa Wissen beibringen

IT-Sicherheit: Auch kleine Netze brauchen eine Firewall
IT-Sicherheit
Auch kleine Netze brauchen eine Firewall

Unternehmen mit kleinem Geldbeutel verzichten häufig auf eine Firewall. Das sollten sie aber nicht tun, wenn ihnen die Sicherheit ihres Netzwerks wichtig ist.
Von Götz Güttich

  1. Anzeige Wo Daten wirklich sicher liegen
  2. Erasure Coding Das Ende von Raid kommt durch Mathematik
  3. Endpoint Security IT-Sicherheit ist ein Cocktail mit vielen Zutaten

    •  /