1.可变长参数定义
长度不固定,可以传多/少的参数
使用...表示可变长参数
示例:
//定义可变长参数
public void print(String...param){
for(String str:param){
System.out.println(str);
}
}
举例:
public class Demo {
public void p(int...param){
for (int i = 0; i < param.length; i++) {
System.out.println(param[i]+" ");
}
System.out.println();
System.out.println("**************************");
}
}
import static org.junit.Assert.*;
import org.junit.Test;
public class DemoTest {
@Test
public void test() {
Demo d=new Demo();
d.p('a');
d.p('a','b');
d.p('a','b','c');
}
}
2.可变长方法调用
可变长方法调用的时候可以给出任意多个参数也可不给参数
3.可变长参数的使用规则
1)在调用方法的时候,如果能够和固定参数的方法匹配,也能够与可变长参数的方法匹配,则选择固定参数的方法
举例:
public void p(String...param) {
}
Public void p(int a,int b){
}
2) 如果要调用的方法可以和两个可变参数匹配,则出现错误
举例:
public void p(String...param,String...param) {
}
3) 一个方法只能有一个可变长参数,并且这个可变长参数必须是该方法的最后一个参数
举例:
错误public void p(String...param,int a) { }
正确public void p(int a ,String...param) { }