Varargs en Java

En Java, varargs (o argumentos variables) es una característica que permite a un método recibir un número variable de argumentos. Esto se logra utilizando el operador «…» (tres puntos) en la declaración del parámetro del método.

Uso de varargs en Java

El uso de varargs en Java es muy útil en situaciones donde no se conoce de antemano cuántos argumentos se van a pasar a un método.

Por ejemplo:


public void imprimir(String... mensajes) {
    for (String mensaje : mensajes) {
        System.out.println(mensaje);
    }
}

Lenguaje del código: Java (java)

En este ejemplo, el método “imprimir()” puede recibir cualquier número de argumentos de tipo String, y los imprime en consola uno por uno. El nombre del parámetro “mensajes” es arbitrario y puede ser cualquier otro nombre. El tipo del parámetro debe ser un arreglo, en este caso es String[].

Para llamar a este método con varios argumentos, se pueden pasar los argumentos directamente separados por comas.

Por ejemplo:


imprimir("Hola", "mundo", "!");

Lenguaje del código: Java (java)

También se puede pasar un arreglo como argumento, pero se debe agregar el signo «…» antes del nombre del arreglo.

Por ejemplo:


String[] mensajes = {"Hola", "mundo", "!"};
imprimir(mensajes);

Lenguaje del código: Java (java)

Ten en cuenta que un método solo puede tener un parámetro varargs y debe ser el último parámetro.

La utilidad de varargs es que permite llamar a un método con un número variable de argumentos, lo que es útil en situaciones donde no se conoce de antemano cuántos argumentos se van a pasar. Es una forma cómoda de trabajar con métodos que reciben un número variable de argumentos.

Más ejemplos

Otro ejemplo de varargs en Java es el siguiente:


public class EjemploVarargs {
    public static void main(String[] args) {
        imprimir("Hola", "Mundo", "!");
        int suma = sumar(1, 2, 3, 4, 5);
        System.out.println("La suma es: " + suma);
        String cadenasConcatenadas = concatenar("Hola", " ", "Mundo", "!");
        System.out.println("Cadenas concatenadas: " + cadenasConcatenadas);
        List<Integer> lista = crearLista(1, 2, 3, 4, 5);
        System.out.println("Lista: " + lista);
    }

    public static void imprimir(String... mensajes) {
        for (String mensaje : mensajes) {
            System.out.print(mensaje);
        }
        System.out.println();
    }

    public static int sumar(int... numeros) {
        int resultado = 0;
        for (int numero : numeros) {
            resultado += numero;
        }
        return resultado;
    }

    public static String concatenar(String... cadenas) {
        String resultado = "";
        for (String cadena : cadenas) {
            resultado += cadena;
        }
        return resultado;
    }

    public static <T> List<T> crearLista(T... elementos) {
        return Arrays.asList(elementos);
    }
}

Lenguaje del código: Java (java)

En este ejemplo, se tiene una clase llamada “EjemploVarargs” que tiene varios métodos que utilizan varargs. El método “imprimir()” recibe un número variable de cadenas y las imprime en consola. El método “sumar()” recibe un número variable de enteros y los suma.

El método “concatenar()” recibe un número variable de cadenas y las concatena. Y el método “crearLista()” recibe un número variable de elementos y los agrega a una lista.

Si se ejecuta el método “main()”, el programa imprimiría “Hola Mundo!” en consola, luego imprimiría “La suma es: 15”, luego “Cadenas concatenadas: Hola Mundo!”, y luego “Lista: [1, 2, 3, 4, 5]”.

Curso Profesional de Java

Inscríbete Ahora