Wie deklariere und verwende ich eine Methode mit Varargs? Wofür verwendet man das?

Die Deklaration einer Methode mit variabler Argumentliste (Varargs) erfolgt, indem man hinter die Beschreibung des Datentyps der variablen Argumentliste drei Punkte setzt. Es kann nur ein formaler Parameter einer Methode eine variable Argumentliste sein. Dieser Parameter muss an der letzten Stelle der formalen Parameter deklariert sein.

Der Aufruf der Methode erfolgt, indem man eine beliebige Anzahl von Argumenten des entsprechenden Datentyps übergibt.

In der Methode kann auf die Elemente der variablen Argumentliste wie bei einem Array mit .length und über den Index zugegriffen werden.

Im Codebeispiel wird in Zeile 10 eine variable Anzahl von int-Werten übergeben. Aus diesen Werten wird in der Methode sum() die Summe berechnet.

static int sum(int... x) {
    int sum = 0;
    for (int i = 0; i < x.length; i++) {
        sum += x[i];
    }
    return sum;
}

public static void main(String[] args) {
    System.out.println(sum(1, 2, 3));

    int a[] = { 9, 8, 7, 6 };
    System.out.println(sum(a));
}

Hinweis: Anstelle von n int-Werten kann auch ein int-Array übergeben werden (Zeile 13).

Anwendung:

Soll bei einer Methode die Anzahl der Parameter variabel gehalten werden, kann mit varargs gearbeitet werden.

Beispiele für solche Methoden: min(), max(), average(), drawPolygon(), …