Java umožňuje zadat metodě libovolný počet parametrů pomocí trojtečkové notace. Vnitřně si Java vytvoří pole argumentů a toto pole předá metodě. Jedná se tedy o zjednodušený zápis oproti tomu, abyste museli sami vytvořit pole a to předat.
Mějmě proměnné
String ahoj = "Ahoj"; String nazdar = "Nazdar"; String cau = "Čau"; String[] pole = {"AA", "BB", "CC", "DD"}; List<String> seznam = Arrays.asList("XXX", "YYY", "ZZZ");
a metodu
public static void method(Object ... params) { for (int i = 0; i < params.length; i++) { if (i > 0) { System.out.print(" | "); } System.out.print(params[i]); } System.out.println(); }
Metodu je možné zavolat bez argumentů, s jedním nebo několika argumenty a nebo za argument zadat pole objektů.
method(); method(ahoj, nazdar, cau); method(pole); method(seznam); method(seznam.toArray());
Výsledek
Ahoj | Nazdar | Čau AA | BB | CC | DD [XXX, YYY, ZZZ] XXX | YYY | ZZZ
Pokud chceme argumenty kombinovat (zadat jak argument tak pole argumentů zároveň) je potřeba vytvořit pole s argumenty a to předat metodě.
List<Object> objectParamList = new ArrayList<Object>(); objectParamList.add(cau); objectParamList.add(new Date()); objectParamList.addAll(Arrays.asList(pole)); objectParamList.add(123); objectParamList.addAll(seznam); objectParamList.add(Math.random()); method(objectParamList.toArray());
Výsledek
Čau | Sun Jan 24 16:41:59 CET 2016 | AA | BB | CC | DD | 123 | XXX | YYY | ZZZ | 0.37927696865182803