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.