Metodos VargArgs - Tensho97/Aprende-a-Aprender GitHub Wiki
¿Qué son?
Son métodos que permiten variar el número de parámetros que reciben permitiendo trabajar de una forma más dinámica. Fueron introducidos en Java 5. La forma de representarlos es con tres puntos después del tipo de variable:
miMetodo(String ... args) {
}
Ejemplo de la diferencia entre un método VarArgs y un método que tiene un array como argumento
Primero declararemos las variables que se usarán en el ejemplo:
int[] num={4,7,8,2};
int cuatro=4,dos=2;
Y los métodos también. Nótese la diferencia entre ambos:
int suma_a (int... numero){
int resultado = 0;
for(int i = 0; i < numero.length; i++){
resultado += numero[i];
}return resultado;
}
int suma_b (int[] numero){
int resultado = 0;
for(int i = 0; i < numero.length; i++){
resultado += numero[i];
}return resultado;
}
Estos métodos son muy parecidos a utilizar un array, pero tienen dos diferencias básicas:
-
La forma de llamar al método
-
Llamadas válidas:
System.out.println(suma_a(num)); System.out.println(suma_a(num[0],num[1],num[2],num[3])); System.out.println(suma_a(cuatro,7,8,dos)); System.out.println(suma_b(num));
-
Llamadas NO válidas:
System.out.println(suma_b(num[0],num[1],num[2],num[3])); System.out.println(suma_b(cuatro,7,8,dos));
-
-
En los métodos VarArgs, el argumento variable debe ser siempre el último argumento:
-
Declaraciones válidas:
int suma_a(String cadena, int... numero){...} int suma_b(String cadena, int[] numero){...} int suma_b(int[] numero, String cadena){...}
-
Declaraciones NO válidas:
int suma_a(int... numero, String cadena){...}
-
Autora: Vanesa