Cuando definimos un método en Java debemos de indicar el número de parámetros mediante su tipo y nombre. Si bien existe una forma de poder definir métodos con parámetros variables en Java. Es decir, métodos a los cuales podamos invocar con más o menos parámetros dependiendo de la ocasión.
Para explicar cómo podemos definir métodos con parámetros variable en Java vamos a implementar un método el cual nos sume todos los parámetros que le lleguen, independiente del número que sean. Un sumador.
Lo primero que tenemos que saber es como definir la signatura del método para que este acepte parámetros variables en Java. Para ello deberemos de apoyarnos en el operador tres puntos (…). Al asignar el operador de tres puntos a un tipo conseguimos indicar que podrán llegar N parámetros.
public static int sumar(int... numeros) { ... }
En este caso estamos indicando que llegarán N parámetros de tipo entero. De igual forma se puede aplicar si el tipo es un objeto en vez de un tipo primitivo. Por ejemplo podemos escribir:
public static int sumar(Punto... puntos) { ... }
En la implementación del método lo que vamos a manejar es un array. Es decir, los parámetros llegan en un array, cada posición del array contiene el valor de uno de los parámetros. De esta forma podemos acceder a ellos y manipularlos como si fuesen elementos de un array.
// Primer parámetro
numeros[0];
En nuestro caso como queremos sumar los números que llegan y devolverlos como resultado. Así que lo que tendremos que hacer es recorrer el array e ir sumando los números.
public static int sumar(int... numeros) {
int suma = 0;
for (int x=0;x
Ahora para llamar al método simplemente tendremos que especificar más o menos números.
System.out.println(sumar(2,3,4,5));
System.out.println(sumar(2,2));
Todas las invocaciones recibirán la suma de los valores enviados como parámetros.
De esta forma tan sencilla y mediante el ejemplo de la suma de valores hemos visto como podemos definir un método con parámetros variables en Java.