-
可变参数是一种特殊的形式参数,定义在方法、构造器的形参列表处,它可以让方法接收多个同类型的实际参数。
-
可变参数在方法内部,本质上是一个数组
-
public class ParamTest{ public static void main(String[] args){ //不传递参数,下面的nums长度则为0, 打印元素是[] test(); //传递3个参数,下面的nums长度为3,打印元素是[10, 20, 30] test(10,20,30); //传递一个数组,下面数组长度为4,打印元素是[10,20,30,40] int[] arr = new int[]{10,20,30,40} test(arr); } public static void test(int...nums){ //可变参数在方法内部,本质上是一个数组 System.out.println(nums.length); System.out.println(Arrays.toString(nums)); System.out.println("----------------"); } }
-
一个形参列表中,只能有一个可变参数;否则会报错
-
一个形参列表中如果多个参数,可变参数需要写在最后;否则会报错
public class ParamTest{
public static void main(String[] args){
//不传递参数,下面的nums长度则为0, 打印元素是[]
test();
//传递3个参数,下面的nums长度为3,打印元素是[10, 20, 30]
test(10,20,30);
//传递一个数组,下面数组长度为4,打印元素是[10,20,30,40]
int[] arr = new int[]{10,20,30,40}
test(arr);
}
public static void test(int...nums,string...strings){//错误演示
//可变参数在方法内部,本质上是一个数组
System.out.println(nums.length);
System.out.println(Arrays.toString(nums));
System.out.println("----------------");
}
}