El ... Parámetro en Java
- Uso de Varargs para aceptar un número variable de argumentos en un método en Java
- Uso de Varargs con múltiples tipos de argumentos en Java
El operador de tres puntos ...
se conoce comúnmente como Varargs, que es la abreviatura de Argumentos de longitud variable
. Varargs se introdujeron en JDK 5 para facilitar el uso de un número variable de argumentos. Antes de esto, teníamos que usar la sobrecarga o colocar los argumentos en un array que no era eficiente. En los siguientes ejemplos, veremos cómo podemos sacarle el máximo partido a Varargs.
Uso de Varargs para aceptar un número variable de argumentos en un método en Java
En este programa, creamos un método estático llamado functionWithVarArgs()
y establecemos el tipo de parámetro de recepción como String
seguido de los tres puntos y el nombre del parámetro str
, lo que significa que podemos pasar cualquier número de String
escriba argumentos.
Dentro del método functionWithVarArgs()
, creamos un bucle mejorado for
que imprime cada valor str
. En la función main()
, primero pasamos cuatro argumentos en la función functionWithVarArgs()
y luego llamamos a la misma función con tres argumentos nuevamente. El resultado muestra que todos los argumentos pasados.
public class Main {
public static void main(String[] args) {
functionWithVarArgs("String 1", "String 2", "String 3", "String 4");
functionWithVarArgs("String A", "String B", "String C");
}
static void functionWithVarArgs(String... str) {
for (String s : str) {
System.out.println(s);
}
}
}
Producción :
String 1
String 2
String 3
String 4
String A
String B
String C
Uso de Varargs con múltiples tipos de argumentos en Java
Hay algunas reglas que debemos seguir para usar los Varargs; la primera regla es que Varargs debe ser el último argumento o el compilador arrojará un error, y la segunda regla es que no puede haber múltiples Varargs en un método.
En el siguiente código, pasamos dos tipos de argumentos, donde str
es del tipo String
y es un único argumento. El último argumento del método functionWithVarArgs()
son los Varargs de tipo int
. Ahora en main()
, llamamos a la función con el primer argumento como un solo valor, y el segundo argumento puede ser de longitud variable ya que es un Vargargs
.
public class Main {
public static void main(String[] args) {
functionWithVarArgs("String 1", 1, 2);
functionWithVarArgs("String A", 10, 20, 30, 40);
}
static void functionWithVarArgs(String str, int... num) {
for (int n : num) {
System.out.println(n);
}
}
}
Producción :
1
2
10
20
30
40
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn