【发布时间】:2011-07-21 07:29:00
【问题描述】:
可变参数:
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
假设上述是正确/正确的,为什么不总是使用可变参数而不是单个数组参数?似乎免费添加了一点调用者的灵活性。
专家能否分享一下 JVM 内部的差异,如果有的话?
谢谢。
【问题讨论】: