变长参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了变长参数相关的知识,希望对你有一定的参考价值。

先有如下需求:返回实参中的最大者。但由于实参的个数不确定,难以采用重载的办法。

解决:在定义方法时将形参的格式定义如下:

int getMax(int first,int...varArgs){

for(int i:varAgus)

....

}

调用:

System.out.println("max(1)="+demo.getMax(1)+" ");//1
System.out.println("max(2)="+demo.getMax(2,1)+" ");//2
System.out.println("max(3)="+demo.getMax(6,4,5,9,8,7)+" ");//9

说明:

1、变长参数实际上编译时会转换成数组。

2、变长参数只能出现在形参中。

3、若在重载的方法中,有些有变长参数,有些没有,则优先调用没有变长参数的方法。若定义int getMax(int First),则第一个方法会优先调用此方法

4、若重载方法均含有变长参数,则报错

5、一个方法只能有一个变长参数

以上是关于变长参数的主要内容,如果未能解决你的问题,请参考以下文章

Unix环境高级编程编写变长参数函数

Scala-变长参数

变长函数

Python的变长参数

小白学Lua之Lua变长参数和unpack函数

深入剖析变长参数函数的实现