0 java arrays variadic-functions
void method(String[] a)和之间有什么区别void method(String... a)?
第一种方法采用字符串数组,其中第二种方法采用一个或多个String参数.它们提供了哪些不同的功能?
此外,不知道为什么,但这是有效的:
public class Test {
public static void main(String[] args) {
String[] a = {"Hello", "World"};
Test t = new Test();
t.method(a);
}
void method(String...args) {
System.out.println("Varargs"); // prints Varargs
}
}
Run Code Online (Sandbox Code Playgroud)
只有在签名后面还有其他元素时才会有区别.
例如:
public void method(String[] args, String user){}
Run Code Online (Sandbox Code Playgroud)
是可能的,因为jvm不会认为user仍然是一个元素args.
public void method(String ... args, String user){}
Run Code Online (Sandbox Code Playgroud)
但是会引起麻烦.