java关于可变参数的运用
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;