方法的可变参数

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

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);
        }
    }
}

错误如下:

 

posted @ 2014-09-23 23:56  风痕影默  阅读(148)  评论(0编辑  收藏  举报
友情链接:极限BT