java关于可变参数的使用
java很多api的方法都有可变参数的应用,可变参数,即没有指定方法参数的个数,可传入随意个数合法的参数。使用可变参数,可以很灵活在方法调用过程中传入参数,类似于方法的重载。方法的重载:public void doSth(int a){ ......}public void doSth(int a,int b){ ......}public void doSth(int a,int b,int c){ ......}
如果方法体对传入参数的处理方式大体相同,比如求和、求积等等,则可以考虑可变参数的使用:public void doSth(int... nums){ ......}
求和的可变参数的例子:
public class ChangeParameterTest {public static void main(String[] args) {//可变参数方法的调用方式1sum(1, 2, 3, 4, 5);//可变参数方法的调用方式2int arr[] = {1,3,5,7};sum(arr);}// 用可变参数求和public static void sum(int... nums) {// nums是一个数组int sum = 0;for (int i : nums) {sum += i;}System.out.println(sum);}}使用可变参数时应注意的问题:1、可变参数只能在参数列表的最后位置。public void sum(int... nums,int y) 不合格public void sum(int y, int... nums) 合格2、方法体中,可以将可变参数当作数组来访问。public void sum(int... nums)则有int arr[] = nums;