首页 > 代码库 > 方法的可变参数

方法的可变参数

当几个方法对相同类型的元素(个数不同)进行相同的操作时,首先有两种方式

1、定义不同个数变量的参数列表的重载函数,例如:

public void show(int a){}public void show(int a, int b){}public void show(int a, int b, int c){}

2、定义一个参数为数组的函数,每次操作时创建不同的数组,例如:

public void show(int[] a){}int[] a = {1,2};show(a);int[] a = {1,2,3};show(a);

3、但是这样代码书写有电繁琐,因此在jdk1.5后推出一种新特性,可变参数列表方法具体形式如下:

public void show(int ... a){}

此种类型的方法能够接收多个参数,例如:

show(1,2);//这样可以show(2,3,5,3,5);//这样也可以

其实原理还是和第二种方式是一样的,参数列表中的a也是一个数组,但是在书写上要简单

**要注意的是,当一个函数不仅一种类型参数的时候要把可变参数放在最后,例如:

public void show(String s, int...a){}

假如把可变参数写在前边的时候,容易发生错误,例如如下代码:

class Test{    public static void main(String[] args)    {        show(1,2,3,"hello");    }    public static void show(int...a,String s)    {        for(int x : a)        {            System.out.println(x);        }    }}

错误如下:

 

方法的可变参数