Java 8 StringJoiner y manejo de cadenas

Java 8 StringJoiner es una de las nuevas clases que aparece con Java 8 . Esta versión incluyó muchas novedades y algunas nos pasan a veces desepercibidas. ¿Para que vale un SpringJoiner? . Pues como su nombre indica para fusionar un conjunto de cadenas .

Vamos a ver un ejemplo sencillo de ello.

package com.arquitecturajjava;

import java.util.ArrayList;
import java.util.List;
import java.util.StringJoiner;

public class Principal {

 public static void main(String[] args) {
  
  List<String> cadenas=new ArrayList<String>();
  
  cadenas.add("hola");
  cadenas.add("que");
  cadenas.add("tal");
  cadenas.add("estas");
  cadenas.add("tu");
  cadenas.add("hoy");
  
  StringJoiner agrupar= new StringJoiner(",");
  for (String cadena:cadenas) {
   
   agrupar.add(cadena);
  }
  
  System.out.println(agrupar.toString());
  

 }

}

El resultado se imprimer en la consola

Java 8 StringJoiner y delimitadores

Acabamos de agrupar un conjunto de cadenas como una única cadena separada por comas. El StringJoiner tiene también la ventaja de que se puede inicializar definiendo los limitadores . Es decir el caracter de inicio de la cadena de resultado y el caracter de fin. El código quedaría :

package com.arquitecturajjava;

import java.util.ArrayList;
import java.util.List;
import java.util.StringJoiner;

public class Principal2 {

 public static void main(String[] args) {
  
  List<String> cadenas=new ArrayList<String>();
  
  cadenas.add("hola");
  cadenas.add("que");
  cadenas.add("tal");
  cadenas.add("estas");
  cadenas.add("tu");
  cadenas.add("hoy");
  
  StringJoiner agrupar= new StringJoiner(",","[","]");
  for (String cadena:cadenas) {
   
   agrupar.add(cadena);
  }
  System.out.println(agrupar.toString());
  
 }

}

El resultado es :

Donde realmente brilla StringJoiner es cuando lo combinamos con Java 8 Collectors y generamos la lista usando Streams.

String resultado = cadenas.stream()
        .collect(Collectors.joining(",", "[", "]"));

System.out.println(resultado); // [hola,que,tal,estas,tu,hoy]

Otros artículos relacionados