【发布时间】:2013-01-07 21:25:03
【问题描述】:
当我尝试编译并运行以下代码时,它正在工作,我在控制台上看到“A”。
为什么?
在我看来 (String... args) 是一样的 (String arg, String[] args)。
public class AFewMainExample {
public static void main(String... args) {
System.out.print("A");
}
public static void main(String args) {
System.out.print("B");
}
public static void main(String[] args, String arg) {
System.out.print("C");
}
public static void main(String arg, String[] args) {
System.out.print("D");
}
}
【问题讨论】:
-
(String... args)与(String[] args)相同。 -
@MrSmith42 大体相同,除非你打电话给他们 ;)
-
@Peter Lawrey:差别只是一点语法糖。
-
@MrSmith42 如果你调用
main("a", "b");,它将与String...一起工作,但不能与String[]一起编译。 -
@Peter Lawrey:是的,因为包装数组是为您创建的,如果您使用
String...语法。
标签: java main variadic-functions