JAVA 传不定长度的参数
java中有一种传参形式是这样的 public static void show(int… a);(在jdk1.5之后才可以使用)
当这样写的时候 show方法可以传递任意个数的参数,show()、show(1)、show(1,2,3)、show(3、8、23、17)这样调用都是不会报错的。
这样传的时候会把a当作一个长度可变的数组。比如调用时候这样“show(1);”声明1个int的空间且赋值{1}。调用时候这样“show(3、8、23、17);”声明4个int的大小赋值{3,8,23,17}。
就是传几个参数a数组的长度就是几,无参地调用,则a.length=0
package array; public class ChangeableParam { public static void main(String[] args) { show(); show(1,3,5,7,9); show(2,4,6,8,0,12); } public static void show(int... a){ System.out.println("当前传递的参数个数是:"+a.length); for (int i = 0; i < a.length; i++) { System.out.print(a[i]+" "); } System.out.println(); System.out.println(" "); } }
输出结果: 当前传递的参数个数是:0 //调用无参方法时a数组没有值,所以数组长度是0
当前传递的参数个数是:5 1 3 5 7 9
当前传递的参数个数是:6 2 4 6 8 0 12