首页 > 代码库 > Java一个方法使用可变参数技巧

Java一个方法使用可变参数技巧

很久没有写日志了,最近由于项目紧张在研究一些Java的反射机制,想利用该机制更好的完善和封装项目还有代码,今天在研究反射时,沈阳斌子遇到一个问题就是封装一个方法时有可变参数的问题,经上网查找找到如下方式和技巧。

编写Java程序时,经常会遇到一个方法需要多个参数的情况。例如一个求和方法:

public int add(int[] list){
   int sum = 0;
   for (int i=0;i<list.length;i++)
    sum += list[i];
   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)就是正确的。

资料参考:http://www.cnblogs.com/yezhenhan/archive/2012/08/08/2628835.html