Запись вида
methodName(T... args) называется
varargs (Variable Arguments)
Удобство в том, что можно передавать сразу аргументы и не создавать массив и количество аргументом может быть 0 или N. Пример:
public static void vargs(final String... strings) {
System.out.println(strings);
}
public static void arrs(final String[] strings) {
System.out.println(strings);
}
public static void main(final String... args) {
vargs(); // ok
vargs("1", "2"); // ok
arrs(); // compilation error
arrs(new String[] {"1", "2"}); // ok
}
Есть пара моментов: методы с
varargs нельзя перегружать и
varargs должен быть последним аргументом
public static void manyParams(final String... strings, final Integer number) {
// compilation error
}
public static void manyParams(final Integer number, final String... strings) {
// ok
}