Я знаю, что синтаксис аргумента массива Java "..." может принимать в качестве параметра массив или просто многие параметры, переданные методу. Тем не менее, я заметил, что он тоже делает для Collections:
public static void main(String[] args) {
Collection<Object> objects = new ArrayList<>();
test(objects);
}
public static void test (Object...objects) {
System.out.println("no compile errors");
}
Это компилируется и запускается без необходимости вызова метода toArray()
. Что происходит за сценой? Существуют ли дополнительные методы этого "автоматического преобразования" для этого синтаксиса?
Кстати, я использую Java 1.7.