java关于可变参数的使用

  • Post author:
  • Post category: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) {
		//可变参数方法的调用方式1
		sum(1, 2, 3, 4, 5);
		//可变参数方法的调用方式2
		int 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;



版权声明:本文为java4found原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。