JavaRush /Blogue Java /Random-PT /No Java 8 você pode concatenar strings
theGrass
Nível 24
Саратов

No Java 8 você pode concatenar strings

Publicado no grupo Random-PT
Tenho certeza de que você já esteve em uma situação em que queria concatenar várias linhas. Se você não escreveu em Java, provavelmente usou uma função join()fornecida pela própria linguagem de programação. Se você escrevesse em Java, não poderia fazer isso por um motivo simples: esse método não existia. A biblioteca de classes padrão em Java fornece ferramentas para criar aplicativos GUI, acessar bancos de dados, enviar dados pela rede, executar transformações XML ou chamar métodos de bibliotecas de terceiros. Um método simples para concatenar uma coleção de strings não foi incluído. Para fazer isso, você precisava de uma das muitas bibliotecas de terceiros. No Java 8 você pode concatenar strings - 1Felizmente, isso chegou ao fim! No Java 8 podemos finalmente concatenar strings! Java 8 adicionou uma nova classe chamada StringJoiner. Como o nome sugere, podemos usar esta classe para concatenar strings:
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"
Stringusa dois novos métodos estáticos 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"
Além disso, para concatenar strings existe uma função especial Collectorna nova API usando 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»
Dessa forma, não precisaremos mais de bibliotecas de terceiros para concatenar strings! Artigo original
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION