Concatenación de cadenas en Java

JavaJavaBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

La concatenación es el proceso de combinar dos o más cadenas de texto en una sola cadena. En Java, hay varios métodos para concatenar cadenas. Cada método tiene sus ventajas y desventajas según los requisitos. Esta práctica cubrirá las diferentes maneras de concatenar cadenas en Java.

Concatenar cadenas utilizando el operador +

El método más simple para combinar cadenas en Java es utilizando el operador +. El operador + está sobrecargado para trabajar con cadenas. Siga el bloque de código a continuación para ver cómo concatenar cadenas utilizando el operador +.

public class ConcatenateStrings {
    public static void main(String[] args) {
        String a = "Hello";
        String b = "World";
        String combination = a + " " + b;   // Using + operator to concatenate strings
        System.out.println(combination);    // Output: Hello World
    }
}

Concatenar cadenas utilizando la clase StringBuilder

Otra forma de concatenar cadenas en Java es utilizando la clase StringBuilder. La clase StringBuilder proporciona el método append() para combinar dos o más cadenas. StringBuilder es más rápido que la clase String al concatenar cadenas. Siga el bloque de código a continuación para ver cómo concatenar cadenas utilizando la clase StringBuilder.

public class ConcatenateStrings {
    public static void main(String[] args) {
        String a = "Hello";
        String b = "World";
        StringBuilder builder = new StringBuilder();
        builder.append(a).append(" ").append(b);   // Using StringBuilder class to concatenate strings
        String combination = builder.toString();
        System.out.println(combination);   // Output: Hello World
    }
}

Concatenar cadenas utilizando la clase StringBuffer

Similar a StringBuilder, StringBuffer también es una secuencia mutable de caracteres y proporciona el método append() para adjuntar las cadenas. StringBuffer está sincronizado, lo que significa que múltiples subprocesos no pueden acceder a ella simultáneamente.

public class ConcatenateStrings {
    public static void main(String[] args) {
        String a = "Hello";
        String b = "World";
        StringBuffer buffer = new StringBuffer();
        buffer.append(a).append(" ").append(b);   // Using StringBuffer class to concatenate strings
        String combination = buffer.toString();
        System.out.println(combination);   // Output: Hello World
    }
}

Concatenar cadenas utilizando el método String.concat()

El método concat() se puede utilizar para concatenar dos cadenas. Este método utiliza internamente la clase StringBuilder para realizar la concatenación. Siga el bloque de código a continuación para ver cómo utilizar el método concat() para concatenar cadenas.

public class ConcatenateStrings {
    public static void main(String[] args) {
        String a = "Hello";
        String b = "World";
        String combination = a.concat(" ").concat(b);   // Using String.concat() method to concatenate strings
        System.out.println(combination);   // Output: Hello World
    }
}

Concatenar cadenas utilizando el método String.join()

El método String.join() se utiliza para concatenar múltiples cadenas con un delimitador. El primer parámetro de String.join() es el delimitador que se debe agregar entre las cadenas. Este método funciona a partir de Java 8 en adelante. Siga el bloque de código a continuación para ver cómo concatenar cadenas utilizando el método String.join().

public class ConcatenateStrings {
    public static void main(String[] args) {
        String a = "Hello";
        String b = "World";
        String c = "Java";
        String combination = String.join(" ", a, b, c);   // Using String.join() method to concatenate strings
        System.out.println(combination);   // Output: Hello World Java
    }
}

Concatenar cadenas utilizando el método String.format()

El método String.format() devuelve una cadena formateada. Toma la cadena de formato como primer parámetro a la que se deben concatenar las variables de cadena. Funciona de manera similar a la función printf en C. Siga el bloque de código a continuación para ver cómo utilizar el método String.format() para concatenar cadenas.

public class ConcatenateStrings {
    public static void main(String[] args) {
        String a = "Hello";
        String b = "World";
        String c = "Java";
        String combination = String.format("%s %s %s", a, b, c);  // Using String.format() method to concatenate strings
        System.out.println(combination);   // Output: Hello World Java
    }
}

Concatenar cadenas utilizando el método Arrays.toString()

El método Arrays.toString() se utiliza para devolver una cadena que representa el contenido de la matriz. Siga el bloque de código a continuación para ver cómo utilizar el método Arrays.toString() para concatenar una matriz de cadenas.

import java.util.Arrays;
public class ConcatenateStrings {
    public static void main(String[] args) {
        String[] strings = {"Hello", "World", "Java"};
        String combination = Arrays.toString(strings);   // Using Arrays.toString() method to concatenate an array of strings
        System.out.println(combination);   // Output: [Hello, World, Java]
    }
}

Concatenar cadenas utilizando la clase StringJoiner

La clase StringJoiner se utiliza para unir cadenas con un delimitador. La clase StringJoiner está disponible a partir de Java 8 en adelante. En el siguiente ejemplo, vamos a utilizar la clase StringJoiner para concatenar tres cadenas con un delimitador. Siga el bloque de código a continuación para ver cómo utilizar la clase StringJoiner para concatenar cadenas.

import java.util.StringJoiner;
public class ConcatenateStrings {
    public static void main(String[] args) {
        StringJoiner joiner = new StringJoiner(" ");
        joiner.add("Hello");  // Using StringJoiner class to concatenate strings
        joiner.add("World");
        joiner.add("Java");
        String combination = joiner.toString();
        System.out.println(combination);   // Output: Hello World Java
    }
}

Concatenar cadenas utilizando el método Collections.join()

También podemos utilizar el método join() de la clase Collections para concatenar una lista de cadenas. Siga el bloque de código a continuación para ver cómo utilizar el método Collections.join() para concatenar una lista de cadenas.

import java.util.Arrays;
import java.util.List;
import java.util.Collections;
public class ConcatenateStrings {
    public static void main(String[] args) {
        List<String> strings = Arrays.asList("Hello", "World", "Java");
        String separator = " ";
        String combination = String.join(separator, strings);   // Using Collections.join() method to concatenate a list of strings
        System.out.println(combination);   // Output: Hello World Java
    }
}

Concatenar cadenas utilizando el método Files.lines()

También podemos utilizar el método Files.lines() introducido en Java 8 para concatenar cadenas. Siga el bloque de código a continuación para ver cómo utilizar el método Files.lines() para concatenar cadenas.

import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.IOException;
public class ConcatenateStrings {
    public static void main(String[] args) {
        try {
            String combination = Files.lines(Paths.get("file1.txt"))
                                     .reduce("", (line1, line2) -> line1 + line2);
            System.out.println(combination);
        } catch (IOException exception) {
            System.out.println("Exception Occurred: " + exception);
        }
    }
}

Nota: El bloque de código anterior lee el contenido de un archivo llamado file1.txt y concatena el contenido en una sola cadena.

Resumen

En resumen, hay muchas maneras de concatenar cadenas en Java. En este laboratorio, hemos cubierto varios métodos como el operador +, la clase StringBuilder, la clase StringBuffer, el método String.concat(), el método String.join(), el método String.format(), el método Arrays.toString(), la clase StringJoiner, el método Collections.join() y el método Files.lines(). Es necesario entender las sutilezas de cada método y utilizarlos adecuadamente para obtener el resultado deseado.