Аргументы переменной длины

Аргументы переменной длины

В методы можно передавать аргументы переменной длины (varargs):


static void summ(int... args) {
        int res = 0;
        for (int i : args) {
            res += i;
        }
        System.out.println("The summ is " + res);
    }
В списке параметров varargs можно передать только один раз и, при этом, он должен стоять последним в списке параметров.


static void summ(String name, char symbol, int... args) {
        int res = 0;
        for (int i : args) {
            res += i;
        }
        System.out.println("The name is " + name);
        System.out.println("The char is " + symbol);
        System.out.println("The summ is " + res);
    }
    
static void summ(char symbol, int... args, String name) { } // ошибка компиляции
static void summ(int... args, String... names) { } // ошибка компиляции

public static void main(String[] args) {

        summ(1,2,3,4,5,6,7,8); // The summ is 36
        
        summ("Vararg", '\u263A', 1, 2, 3, 4, 5, 6, 7, 8);
        //The name is Vararg
        //The char is ☺
        //The summ is 36
    }
Основы Java