Java Mehrzeiliger String

1. Übersicht

Aufgrund der Tatsache, dass es in Java noch keine native mehrzeilige Zeichenfolgenklasse gibt, ist es etwas schwierig, mehrzeilige Zeichenfolgen zu erstellen und zu verwenden.

In diesem Tutorial werden verschiedene Methoden zum Erstellen und Verwenden von mehrzeiligen Zeichenfolgen in Java beschrieben .

2. Erhalten des Leitungstrenners

Jedes Betriebssystem kann seine eigene Art haben, neue Zeilen zu definieren und zu erkennen. In Java ist es sehr einfach, das Zeilentrennzeichen des Betriebssystems zu erhalten:

String newLine = System.getProperty("line.separator");

Wir werden diese neue Zeile in den folgenden Abschnitten verwenden, um mehrzeilige Zeichenfolgen zu erstellen.

3. String-Verkettung

Die Verkettung von Zeichenfolgen ist eine einfache native Methode, mit der mehrzeilige Zeichenfolgen erstellt werden können:

public String stringConcatenation() { return "Get busy living" .concat(newLine) .concat("or") .concat(newLine) .concat("get busy dying.") .concat(newLine) .concat("--Stephen King"); }

Die Verwendung des Operators + ist eine weitere Möglichkeit, dasselbe zu erreichen. Java-Compiler übersetzen concat () und den Operator + auf dieselbe Weise:

public String stringConcatenation() { return "Get busy living" + newLine + "or" + newLine + "get busy dying." + newLine + "--Stephen King"; }

4. String Join

In Java 8 wurde String # join eingeführt , bei dem ein Trennzeichen zusammen mit einigen Zeichenfolgen als Argumente verwendet wird. Es wird eine endgültige Zeichenfolge zurückgegeben, bei der alle Eingabezeichenfolgen mit dem Trennzeichen verbunden sind:

public String stringJoin() { return String.join(newLine, "Get busy living", "or", "get busy dying.", "--Stephen King"); }

5. String Builder

StringBuilder ist eine Hilfsklasse zum Erstellen von Strings . StringBuilder wurde in Java 1.5 als Ersatz für StringBuffer eingeführt . Es ist eine gute Wahl, um große Saiten in einer Schleife zu erstellen:

public String stringBuilder() { return new StringBuilder() .append("Get busy living") .append(newLine) .append("or") .append(newLine) .append("get busy dying.") .append(newLine) .append("--Stephen King") .toString(); }

6. String Writer

StringWriter ist eine weitere Methode, mit der wir einen mehrzeiligen String erstellen können. Wir brauchen hier keine neue Linie , weil wir PrintWriter verwenden . Die Druckfunktion fügt automatisch neue Zeilen hinzu:

public String stringWriter() { StringWriter stringWriter = new StringWriter(); PrintWriter printWriter = new PrintWriter(stringWriter); printWriter.println("Get busy living"); printWriter.println("or"); printWriter.println("get busy dying."); printWriter.println("--Stephen King"); return stringWriter.toString(); }

7. Guavenschreiner

Die Verwendung einer externen Bibliothek nur für eine einfache Aufgabe wie diese ist wenig sinnvoll. Wenn das Projekt die Bibliothek jedoch bereits für andere Zwecke verwendet, können wir sie verwenden. Zum Beispiel ist die Guava-Bibliothek von Google sehr beliebt. Guava verfügt über eine Joiner- Klasse, die mehrzeilige Zeichenfolgen erstellen kann:

public String guavaJoiner() { return Joiner.on(newLine).join(ImmutableList.of("Get busy living", "or", "get busy dying.", "--Stephen King")); }

8. Laden aus einer Datei

Java liest Dateien genau so, wie sie sind. Dies bedeutet, dass wenn wir eine mehrzeilige Zeichenfolge in einer Textdatei haben, wir beim Lesen der Datei dieselbe Zeichenfolge haben. Es gibt viele Möglichkeiten, aus einer Datei in Java zu lesen.

Eigentlich ist es eine gute Praxis, lange Zeichenfolgen vom Code zu trennen:

public String loadFromFile() throws IOException { return new String(Files.readAllBytes(Paths.get("src/main/resources/stephenking.txt"))); }

9. Verwenden von IDE-Funktionen

Viele moderne IDEs unterstützen das mehrzeilige Kopieren / Einfügen. Eclipse und IntelliJ IDEA sind Beispiele für solche IDEs. Wir können einfach unsere mehrzeilige Zeichenfolge kopieren und in zwei doppelte Anführungszeichen in diesen IDEs einfügen.

Natürlich funktioniert diese Methode nicht zur Erstellung von Zeichenfolgen zur Laufzeit, aber es ist eine schnelle und einfache Möglichkeit, eine mehrzeilige Zeichenfolge abzurufen.

10. Schlussfolgerung

In diesem Tutorial haben wir verschiedene Methoden zum Erstellen mehrzeiliger Zeichenfolgen in Java kennengelernt.

Die gute Nachricht ist, dass Java 13 native Unterstützung für mehrzeilige Zeichenfolgen über Textblöcke bietet. Selbstverständlich funktionieren alle oben genannten Methoden weiterhin in Java 13.

Der Code für alle Methoden in diesem Artikel ist auf Github verfügbar.