Переменное количество аргументов (VarArgs)

Разумеется, можно написать метод, который будет принимать массив в качестве аргумента:

public static void showAllElements(int[] array) {
    for (int element : array) {
        System.out.println(element);
    }
}

Сгенерируем массив и передадим его в метод.

int[] numbers = new int[10];
// создаём пустой массив

for (int i = 0; i < 10; i++) {
    // наполняем его
    numbers[i] = i*i;
}

// передаём в метод
showAllElements(numbers);

Вывод:

0
1
4
9
16
25
36
49
64
81

В отличие от предыдущего примера, далее мы решаем создать массив и сразу передать его в метод:

showAllElements(new int[]{1, 2, 3, 4, 5});

Если в объявлении метода исправить тип с int[] на int..., массив из переданных аргументов будет сформирован автоматически, и можно будет писать так:

showAllElements(1, 2, 3, 4, 5);

Эта практика называется varArgs или переменное количество аргументов. Такой аргумент должен идти последним, то есть:

public static void showAllElements(int... array) { … }
// так будет объявлен наш метод — тут всё в порядке

public static void showAllElements(int... array, String title) { … }
// неверно: varArg должен быть последним

public static void showAllElements(String title, int... array) { … }
// всё в порядке
Комментарии к уроку

Сообщить об ошибке