String [] a和String ... a之间的区别

时间:2011-07-02 12:41:21

标签: java string

当我们在main方法和String ... a?

中编写String [] a时有什么不同
public static void main(String[]a)

public static void main(String...a)

3 个答案:

答案 0 :(得分:8)

第一个期望一个参数,即一个字符串数组。

第二个接受零个或多个String参数。它还接受一个字符串数组。

答案 1 :(得分:8)

public static void main(String[] a)

必须使用String []类型的单个参数调用此函数,或者使用null。

public static void main(String...a)

这个可以使用String []类型的单个参数调用,或者使用任意数量的String参数调用,例如main(“a”,“b”,“c”)。但是,如果传递null,编译器会抱怨,因为它无法判断您是否为值为null的String []或1个空字符串的数组。

main()内,在任何一种情况下,变量a都是String[]

因为它是main,你可能不会考虑如何调用它......通常它是第一件事。但我已经转而使用第二种形式用于所有主电源;将参数传递给它进行测试会更容易。

答案 2 :(得分:3)

第二个名为varargs,并在Java 5中引入。当您需要将零个或多个参数传递给方法时,它可以使您免于显式创建数组。