Я ищу соответствующую часть Спецификации языка Java (JLS), которая описывает поведение при вызове метода переменной арности (vararg).
Рассмотрим метод:
public static void printVarArgs(String... args) {
System.out.println(Arrays.toString(args));
}
Если я вызову метод следующим образом:
printVarArgs();
Вывод будет выглядеть так:[]
потому что пропуск args
в месте вызова был преобразован в пустой массив в методе printVarArgs
.
Я ищу точку JLS, которая определяет это поведение. Самое близкое, что я нашел, это 15.12.4.2 Evaluate Arguments, но он не дает этого примера, и я не уверен, действительно ли этот случай охватывается формальным/математическим описанием.
Какая часть JLS описывает автоматическое создание пустого массива, когда vararg опущен?