编写Java程序时,经常会遇到一个方法需要多个参数的情况。例如一个求和方法: public int add(int[] list){
int sum = 0;
for (int i=0;i<list.length;i++)
sum += list;
return sum;
} 当然也可以利用重载的方式: public int add(int a,int b){
return a + b;
} public int add(int a,int b,int c){
return a + b + c;
} 如果程序可能的情况较少,重载方式可能是个好的选择。若是可能的情况很多,无疑上面的方法扩展性会更 强一些。但是还有没有更好的办法呢? JDK5优化了for循环,可以利用它来写更简洁的代码: public int add(int... list){
int sum = 0;
for (int item:list)
sum += item;
return sum;
} 注意add(int... list) ,三个点代表的是数量可变的参数,相信这点很多学Java的人都不知道。 另外需要注意的一点是,可变参数必须放在所有参数的最后,例如 add(int... list,int a) 是错误的,但是add(int a,int... list)就是正确的。
|