Clase StringJoiner en Java

StringJoiner es una clase en el paquete java.util que se usa para construir una secuencia de caracteres (strings) separados por un delimitador y, opcionalmente, comenzando con un prefijo proporcionado y terminando con un sufijo dado. Aunque esto también se puede hacer con la ayuda de la clase StringBuilder para agregar un delimitador después de cada string, StringJoiner proporciona una manera fácil de hacerlo sin tener que escribir mucho código. 

Constructores de la clase StringJoiner

1. StringJoiner (delimitador CharSequence): Construye un StringJoiner sin caracteres, sin prefijo o sufijo, y una copia del delimitador proporcionado. 

Sintaxis: 

public StringJoiner(CharSequence delimiter)

Parámetros: la secuencia de caracteres que se usará entre cada elemento agregado al valor StringJoiner

Excepción lanzada: NullPointerException si el delimitador es nulo

2. StringJoiner (delimitador CharSequence, prefijo CharSequence, sufijo CharSequence): Construye un StringJoiner sin caracteres utilizando copias del prefijo, delimitador y sufijo proporcionados. Si no se agregan caracteres al StringJoiner y se invocan los métodos que acceden al valor de la string, devolverá el prefijo + sufijo (o sus propiedades) en el resultado a menos que se haya llamado primero  a setEmptyValue .

Sintaxis: 

public StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)

Parámetros: 

  • La secuencia de caracteres que se usará entre cada elemento agregado al valor StringJoiner
  • La secuencia de caracteres que se utilizará al principio.
  • La secuencia de caracteres que se utilizará al final.

Excepción lanzada: NullPointerException si el prefijo, el delimitador o el sufijo es nulo.

Métodos de la clase StringJoiner

Método  Acción realizada
agregar() Agrega una copia del valor CharSequence dado como el siguiente elemento del valor StringJoiner. Si newElement es nulo, se agrega «null». 
longitud()  Devuelve la longitud de la representación String de este StringJoiner. 
unir() Agrega el contenido del StringJoiner dado sin prefijo y sufijo como el siguiente elemento si no está vacío. Si el StringJoiner dado está vacío, la llamada no tiene efecto. Supongamos que el otro StringJoiner está usando un delimitador diferente. En ese caso, los elementos del otro StringJoiner se concatenan con ese delimitador y el resultado se agrega a este StringJoiner como un solo elemento. 
Enstringr() Devuelve el objeto String de este StringJoiner
establecerValorVacío() Establece la string que se usará al determinar la representación de string de este StringJoiner, y aún no se han agregado elementos; eso es cuando esta vacio

 Ejemplo:

Java

// Java program to Demonstrate Methods
// of StringJoiner class
 
// Importing required classes
import java.util.ArrayList;
import java.util.StringJoiner;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // Creating an empty ArrayList of string type
        ArrayList<String> al = new ArrayList<>();
 
        // Adding elements to above List
        al.add("Ram");
        al.add("Shyam");
        al.add("Alice");
        al.add("Bob");
 
        // Creating object of class inside main()
        StringJoiner sj1 = new StringJoiner(",");
 
        // Using setEmptyValue() method
        sj1.setEmptyValue("sj1 is empty");
        System.out.println(sj1);
 
        // Using add() method
        sj1.add(al.get(0)).add(al.get(1));
        System.out.println(sj1);
 
        // Using length() method
        System.out.println("Length of sj1 : "
                           + sj1.length());
 
        StringJoiner sj2 = new StringJoiner(":");
        sj2.add(al.get(2)).add(al.get(3));
 
        // Using merge() method
        sj1.merge(sj2);
 
        // Using toString() method
        System.out.println(sj1.toString());
 
        System.out.println("Length of new sj1 : "
                           + sj1.length());
    }
}
Producción

sj1 is empty
Ram,Shyam
Length of sj1 : 9
Ram,Shyam,Alice:Bob
Length of new sj1 : 19

 Este artículo es una contribución de Gaurav Miglani . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *