JavaRush /Java Blog /Random-IT /In Java 8 puoi concatenare stringhe
theGrass
Livello 24
Саратов

In Java 8 puoi concatenare stringhe

Pubblicato nel gruppo Random-IT
Sono sicuro che ti sei trovato in una situazione in cui volevi concatenare più righe. Se non hai scritto in Java, probabilmente hai utilizzato una funzione join()fornita dal linguaggio di programmazione stesso. Se scrivessi in Java, non potresti farlo per un semplice motivo: questo metodo non esiste. La libreria di classi standard in Java fornisce gli strumenti per creare applicazioni GUI, per accedere ai database, per inviare dati in rete, per eseguire trasformazioni XML o per chiamare metodi da librerie di terze parti. Non è stato incluso un metodo semplice per concatenare una raccolta di stringhe. Per fare questo, avevi bisogno di una delle tante librerie di terze parti. In Java 8 puoi concatenare stringhe - 1Per fortuna tutto questo è finito! In Java 8 possiamo finalmente concatenare le stringhe! Java 8 ha aggiunto una nuova classe chiamata StringJoiner. Come suggerisce il nome, possiamo usare questa classe per concatenare le stringhe:
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"
Stringutilizza due nuovi metodi statici 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"
Inoltre, per concatenare le stringhe ce n'è uno speciale Collectornella nuova API che utilizza i flussi:
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»
In questo modo non abbiamo più bisogno di librerie di terze parti per concatenare le stringhe! Articolo originale
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION