JavaRush /Blog Java /Random-ES /En Java 8 puedes concatenar cadenas
theGrass
Nivel 24
Саратов

En Java 8 puedes concatenar cadenas

Publicado en el grupo Random-ES
Estoy seguro de que has estado en una situación en la que querías concatenar varias líneas. Si no escribiste en Java, entonces probablemente usaste una función join()que te proporcionó el propio lenguaje de programación. Si escribieras en Java, no podrías hacer esto por una sencilla razón: este método no existía. La biblioteca de clases estándar en Java le proporcionó las herramientas para crear aplicaciones GUI, acceder a bases de datos, enviar datos a través de la red, realizar transformaciones XML o llamar a métodos desde bibliotecas de terceros. No se incluyó un método simple para concatenar una colección de cadenas. Para hacer esto, necesitaba una de las muchas bibliotecas de terceros. En Java 8 puedes concatenar cadenas - 1¡Afortunadamente esto ha llegado a su fin! ¡En Java 8 finalmente podemos concatenar cadenas! Java 8 agregó una nueva clase llamada StringJoiner. Como sugiere el nombre, podemos usar esta clase para concatenar cadenas:
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"
Stringutiliza dos nuevos 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"
Además, para concatenar cadenas hay uno especial Collectoren la nueva API que usa 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»
¡De esta manera ya no necesitamos bibliotecas de terceros para concatenar cadenas! Artículo original
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION