Saltar a contenido

⚙️ varargs o métodos con argumentos de longitud variable en Java

✨ ¿Qué son los varargs en Java?

Varargs significa “variable-length arguments”, es decir: Los varargs permiten que un método acepte cero, uno o más argumentos de un tipo específico.

Se declaran usando la elipsis (...) después del tipo del parámetro.

🎒 1. ¿Cómo funciona?

Un método con varargs acepta cero, uno o muchos valores del mismo tipo:

public static void mostrarNombres(String... nombres) {
    for (String n : nombres) {
        System.out.println(n);
    }
}

El método anterior podrías llamarlo así para ejecutarlo:

mostrarNombres();                     // 0 argumentos
mostrarNombres("Ana");                // 1 argumento
mostrarNombres("Ana", "Luis");        // 2 argumentos
mostrarNombres("Ana", "Luis", "Eva"); // 3 argumentos
public static int sumarTodos(int... numeros) {
    int suma = 0;
    for (int i = 0; i < numeros.length; i++) {
        suma += numeros[i];
    }
    return suma;
}

//o también con un bucle for-each
public static int sumarTodos(int... numeros) {
    int total = 0;
    for (int n : numeros) {
        total += n;
    }
    return total;
}

public static void main(String[] args) {
    sumarTodos(1, 2, 3);           // suma 1+2+3
    sumarTodos(10, 20);            // suma 10+20
    sumarTodos(5, 5, 5, 5, 5);     // suma 5 cinco veces
    sumarTodos();                  // sin argumentos: suma = 0
}

👉 Internamente, Java convierte los varargs en un array (String[]).

⚠️ 2. Reglas importantes de varargs

✔️ Solo puede haber un varargs por método

Esto no se permite:

public static void ejemplo(int... a, String... b)  // ❌ Error

✔️ El varargs debe ser el último parámetro del método

public static void ejemplo(String titulo, int... valores)  // ✔️
public static void ejemplo(int... valores, String titulo)  // ❌ Error