tips:可变参数列表

tips:可变参数列表!


先来看看以往我们要传递许多参数时是怎么做的:

java:

public static void main(String []args){}

c:

int main(int argc, char** argv){}

其实,我们还有其它方式来传递多个参数,尤其是在参数个数不确定的时候;这种方式是在java se5中产生的,这就是可变参数列表!

先来看看可变参数列表是什么样的:

public void test(Object... args){}
这就是可变参数列表Object... args,你传多少个Objec参数,就是多少个!


值得注意的是,在参数列表中,如果某个是可变的参数,那么这个参数就必须放在最后一个参数,否则,程序怎能判断你不是在继续输入可变参数,而是调到下一个参数了呢?

举个例子看一下:

假设我们有个函数有2个参数;第一种是把可变参数放在后面,第二种是把可变参数放在前面;

第一种:

public void test(int param1,int... args){}

第二种:

public void test(int... args,int param2){}

现在我们输入参数:1,2,3,4,5;

对于第一种,1赋给了param1,2,3,4,5给了args;对于第二种,则会产生错误,因为程序不知道5是要赋给param2的,还以为args没完呢,哈哈QAQ;

所以说,第二种情况是不对的,第一种是正确的。


可变参数列表可能我们并不常用,但在许多用的到的地方还是很方便的,也是很实用的。

原文地址:https://www.cnblogs.com/Arry10/p/7731779.html