⚙️ 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