Ответ 1
Это означает, что этот метод может принимать более одного объекта в качестве параметра. Чтобы лучше занизить, проверьте следующий пример здесь:
Эллипсис (...) идентифицирует переменное число аргументов и продемонстрированный в следующем методе суммирования.
static int sum (int ... numbers)
{
int total = 0;
for (int i = 0; i < numbers.length; i++)
total += numbers [i];
return total;
}
Вызвать метод суммирования с таким количеством целых чисел с разделителями-запятыми аргументы, которые вы хотите - в пределах JVM. Некоторые примеры: sum (10, 20) и суммы (18, 20, 305, 4).
Это очень полезно, так как позволяет вашему методу стать более абстрактным. Проверьте также этот приятный пример от SO, если пользователь использует... нотацию для создания метода для конкатенации строковых массивов в Java.
Другой пример из Метод переменных в Java 5
public static void test(int some, String... args) {
System.out.print("\n" + some);
for(String arg: args) {
System.out.print(", " + arg);
}
}
Как упоминается в разделе комментариев:
Также обратите внимание, что если функция передает другие параметры разных тип, чем параметр varargs, параметр vararg должен быть последним параметр в объявлении функции public void test (Typev... v, Type1 a, Type2 b) или public void test (Type1 a, Typev... v recipientJids, Type2 b) - незаконно. ТОЛЬКО публичный тест void (Type1 a, Type2 b, Typev... v)