Как поместить массив чисел в параметры метода JAVA

Рейтинг: 0Ответов: 1Опубликовано: 11.04.2023

Мне нужно в параметры метода вписать массив. Возможно ли вписать именно содержимое массива, а не его имя? Мой код ниже нерабочий.

public class Para {
    public static void main(String [] args){
        printArray({3, 2, 1});
    }
    public static void printArray(int[] sequence){
        for (int i = 0; i < sequence.length; i++){
            System.out.print(sequence[i]);
        }
    }
}

Ответы

▲ 1

Можно просто использовать троеточие ... для указания переменного числа аргументов (в т.ч. и пустого множества аргументов) varargs, varadic argument:

void foo(int ... arr) { // то же самое что int[] arr
    for (int i : arr) {
        System.out.print(i);
        System.out.print(" ");
    }
    System.out.println();
}

тогда вызывать метод можно так:

foo();  // 0 аргументов - пустое множество
foo(1, 2, 3, 4);  // переменное число аргументов
foo(new int[]{1, 2, 3, 4}); // массив аргументов

Можно использовать сокращённую форму инициализации массива в случае одновременной декларации и инициализации:

int[] arr = {1, 2, 3, 4, 5};
foo(arr);

Если инициализация выполняется отдельно, понадобится использовать new int[]:

int[] arr;
arr = new int[]{1, 2, 3, 4, 5};

Аналогично при возвращении результата-массива из функции:

int[] bar() {
    // return {100, 200}; // ошибка компиляции
    return new int[]{100, 200};
}