JavaRush /Java-Blog /Random-DE /In Java 8 können Sie Zeichenfolgen verketten
theGrass
Level 24
Саратов

In Java 8 können Sie Zeichenfolgen verketten

Veröffentlicht in der Gruppe Random-DE
Ich bin mir sicher, dass Sie schon einmal in einer Situation waren, in der Sie mehrere Zeilen verketten wollten. Wenn Sie nicht in Java geschrieben haben, haben Sie wahrscheinlich eine Funktion verwendet, die join()Ihnen von der Programmiersprache selbst bereitgestellt wird. Wenn Sie in Java geschrieben hätten, wäre dies aus einem einfachen Grund nicht möglich: Diese Methode existierte nicht. Die Standardklassenbibliothek in Java stellte Ihnen die Werkzeuge zur Verfügung, um GUI-Anwendungen zu erstellen, auf Datenbanken zuzugreifen, Daten über das Netzwerk zu senden, XML-Transformationen durchzuführen oder Methoden aus Bibliotheken von Drittanbietern aufzurufen. Eine einfache Methode zum Verketten einer Sammlung von Zeichenfolgen war nicht enthalten. Dazu benötigten Sie eine der vielen Bibliotheken von Drittanbietern. In Java 8 können Sie Zeichenfolgen verketten – 1Zum Glück hat das ein Ende! In Java 8 können wir endlich Strings verketten! Java 8 hat eine neue Klasse namens hinzugefügt StringJoiner. Wie der Name schon sagt, können wir diese Klasse verwenden, um Zeichenfolgen zu verketten:
StringJoiner joiner = new StringJoiner(",");
joiner.add("foo");
joiner.add("bar");
joiner.add("baz");
String joined = joiner.toString(); // "foo,bar,baz"

// add() calls can be chained
joined = new StringJoiner("-")
.add("foo")
.add("bar")
.add("baz")
.toString(); // "foo-bar-baz"
Stringverwendet zwei neue statische Methoden join() StringJoiner:
// join(CharSequence delimiter, CharSequence... elements)
String joined = String.join("/", "2014", "10", "28" ); // "2014/10/28"

// join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
List<String> list = Arrays.asList("foo", "bar", "baz");
joined = String.join(";", list); // «foo;bar;baz"
Außerdem gibt es Collectorin der neuen API eine spezielle Funktion zum Verketten von Zeichenfolgen mithilfe von Streams:
List<Person> list = Arrays.asList(
 new Person("John", "Smith"),
 new Person("Anna", "Martinez"),
 new Person("Paul", "Watson ")
);

String joinedFirstNames = list.stream()
 .map(Person::getFirstName)
 .collect(Collectors.joining(", ")); // "John, Anna, Paul»
Auf diese Weise benötigen wir wirklich keine Bibliotheken von Drittanbietern mehr, um Strings zu verketten! Originaler Artikel
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION