在Java中我们不知道自己有多少个参数要传递怎么办?可以试试可变长参数列表。
语法格式为:type... args
例如求n个数中的最大值,n事先不知道,那么可以这样写:
private int max(int n1, int... args) {
int result = n1;
for (int n : args) {
if (result < n) result = n;
}
return result;
}
还有一个特别有用的方法就是任意长度构造数组:
/*
* This program contains a function to trans a list parameter to return a argument array
*/
public class FunctionToArray {
public static int[] run(int ... args) {
return args;
}
public static void main(String[] args) {
int[] a = run(1,2,4,5,6);
for (int i = 0; i < a.length; i++)
System.out.println(a[i]);
}
}