从JDK1.5之后,Java允许定义形参个数可变的参数,从而允许为方法制定数量不确定的形参。
1、使用方式:在最后一个形参类型后增加三点(...),则表示该形参可以接受多个参数值,多个参数值是被当成数组传入。
/**
* 可变参数
*/
public void test(String a,int... b){
for (int i : b) {
Log.i("test:","b:" + i);
}
}
调用方式:
test("测试可变参数",1,2,3); 或者这样:test("测试可变参数",new int[]{1,2,3});
2、重载中使用可变参数,需要注意以下事项:
/**
* 可变参数
*/
public void test(String a,int... b){
for (int i : b) {
Log.i("test:","b:" + i);
}
}
public void test(String a,int b){
}
在存在重载函数时,这么调用:test("测试可变参数",1),默认调用的是第2个方法;
如果想调用第一个方法,可以调用:test("测试可变参数",new int[]{1});
定义形参时,使用可变参数与数组对比:
优点:使用可变参数更加简洁,调用处传参方式灵活
缺点:可变参数只能放在形参列表的最后,也就是说一个方法中最多只能有一个长度可变的形参;