Nieraz w naszym świecie potrzeb mamy do czynienia z faktem, że musimy coś przeliczyć opierając się na pewnej ilości argumentów. Do Java wersja 5 mogliśmy to zrobić tworząc metodę parsującą tablicę argumentów, bądź osobno stworzoną listę argumentów. Tym niemniej obecnie możemy oprzeć się na mechanizmie zmiennej ilości argumentów w metodzie. Użycie varargs, bo o tym mechanizmie mowa, może wyglądać następująco:
public class varArgsJak {
static int suma(int ... x) {
int wynik=0;
for(int i:x) wynik+=i;
return wynik;
}
public static void main(String[] args) {
System.out.println(suma(5));
System.out.println(suma(10,16,23));
System.out.println(suma(10,16,23,5,-9,0,12,8));
}
}
Wynikiem użycia takiej metody opartej o varargs jest:

Z użytkowaniem varargs związane jest ryzyko tzw. heap pollution1Sterta inaczej kopiec lub stóg (ang. heap) to obszar pamięci implementujący strukturę danych o tej samej nazwie. Jej części są udostępniane na wyłączność uruchomianym programom (procesom). Przechowywane są tam dynamicznie tworzone struktury danych. W przeciwieństwie do stosu nie jest uporządkowana ani czyszczona między wywołaniami funkcji, czyli zatruwania sterty. Jednakże dotyczy to wykorzystania jako argumentów list lub obiektów, i nie ma znaczenia przy użyciu prostych typów jako argumentów.