Varargs:
public static void foo(String... string_array) { ... }
против
Параметр одиночного массива:
public static void bar(String[] string_array) { ... }
Java 1.6, похоже, принимает/отклоняет следующее:
String[] arr = {"abc", "def", "ghi"};
foo(arr); // accept
bar(arr); // accept
foo("abc", "def", "ghi"); // accept
bar("abc", "def", "ghi"); // reject
Предполагая, что приведенное выше верно/правильно, почему не всегда использовать varargs вместо параметра single array? Кажется, что бесплатно добавьте гибкость звонящего.
Может ли эксперт делиться внутренней разницей JVM, если есть один?
Спасибо.