
В методы можно передавать аргументы переменной длины (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
}