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

Sur*_*bhi 6 java string

当我们在main方法和String中编写String [] a时有什么区别?a?

public static void main(String[]a)
Run Code Online (Sandbox Code Playgroud)

public static void main(String...a)
Run Code Online (Sandbox Code Playgroud)

Kar*_*ath 8

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

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

  • 第二个实际上也接受一个String-array参数. (3认同)

dav*_*ink 8

public static void main(String[] a)
Run Code Online (Sandbox Code Playgroud)

必须使用String []类型的单个参数调用此方法,或者为null.

public static void main(String...a)
Run Code Online (Sandbox Code Playgroud)

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

main(),在任一情况下,可变a是一个String[].

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