在Java中,String[]
是一个数组类型,使用String[]数组作为方法参数也就只能传递String[]参数,例如:
public class TestClass {
public static void main(String[] args) {
// 传入数组
func(args);
}
/**
* 使用String[]数组
*
* @param args 参数
*/
public static void func(String[] args) {
}
}
而在Java中,使用String...
表示可变参数
,也被称为参数的不定数量。 这种方式允许我们使用逗号分隔多个字符串,而不需要使用数组声明,甚至可以无参(不传递参数)。 例如:
public class TestClass {
public static void main(String[] args) {
// 空参
func();
// 多个参数
func("a", "b", "c", "d");
// 传入数组
func(args);
}
/**
* 使用String...不定长参数
*
* @param args 参数
*/
public static void func(String... args) {
}
}
因此,String[]
和String...
的使用方式不同。String[]需要一个数组作为参数,而String…可以接受任意数量的字符串作为参数,并将它们作为一个数组传递给方法。
String…可变参数相较于String[]数组参数显得更加灵活,但是灵活也更容易产生异常,酌情使用。