Как поместить массив чисел в параметры метода JAVA
Мне нужно в параметры метода вписать массив. Возможно ли вписать именно содержимое массива, а не его имя? Мой код ниже нерабочий.
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 шт):
Автор решения: Nowhere Man
→ Ссылка
Можно просто использовать троеточие ... для указания переменного числа аргументов (в т.ч. и пустого множества аргументов) 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};
}