Java permite
pasar un número indefinido (0 o más) de argumentos a un método, con algunas
limitaciones:
·
sólo
el último argumento puede ser de longitud indefinida
·
todos
los valores deben ser del mismo tipo, incluyendo promoción, upcasting y autoboxing.
public int maximo(int ... valores) { int maximo = Integer.MIN_VALUE; for (int n : valores) if (n > maximo) maximo = n; return maximo; } |
max(5, -7, 21) → 21 max() → MIN_VALUE |
Nótese que el
número de argumentos puede ser cero (0).
Técnicamente,
java trata estos argumentos como un array de datos del tipo indicado:
public boolean ordenados(String
... piezas) { if (piezas.length < 2) return true; for (int i = 1; i < piezas.length;
i++) { String s1 = piezas[i - 1]; String s2 = piezas[i]; if (s1.compareTo(s2) > 0) return false; } return true; } |
ordenados("alfa", "beta", "gamma", "delta") → false ordenados("alfa", "beta", "delta", "gamma") → true |
Temas relacionados
115. Método [method] (concepto)