Я работаю в C (++), и мой основной интерес к Java - разработка Android. Для меня это кажется очевидным вопросом, но я не нашел нигде адресованного (и я сделал search stackoverflow и Google его). То, что я нашел, было много комментариев, таких как:
public String foo(String key, Object[] parameters) {..}
and
public String foo(String key, Object... parameters) {..}
are equal
Фактически, документы Java для «Varargs» явно заявляют: «Три периода после типа последнего параметра указывают, что последний аргумент может быть передан как массив или как последовательность аргументов»
Из того же источника чаще всего указывается, что у varargs есть "Важное использование в основных API-интерфейсах, включая отражение, форматирование сообщений и новое средство printf."
Учитывая, что Java является объектно-ориентированным, включает сборку мусора и поддерживает динамические массивы И Java-переменные ограничены одним типом, в чем преимущество? (В отличие, например, от C, где они реализуют дополнительные функции.)