java1.5新特性中增加了可变参数:
特点:
适用于方法参数类型确定,数量不确定的情况。
注意:
- 写法中...位于变量类型和变量名之间 ,前后有无空格都可以;
- 一个方法最多只能有一个可变参数,且该可变参数只能是该方法的最后一个参数;
- 调用方法的时候,可以给可变参数任意多个参数,也可以不给参数;
- 在调用方法的时候,如果能够与固定参数的方法相匹配,也能够与可变参数的方法相匹配,则选择固定参数的方法;
- 如果要调用的方法可以和两个方法(或可变参数或固定参数)相匹配,则编译器不会通过;
- 实际上,在调用可变参数的方法时,编译器会为该可变参数隐含的创建一个数组,在方法体中可以以数组的形式来访问可变参数。
代码:
/**
* Created by Chengrui on 2015/7/22.
*/
public class Variable {
public void print(String... strings){
if (strings.length == 0){
System.out.println("Variable parameters is empty.");
return;
}
for (String string : strings){
System.out.println(string);
}
}
public void print(String string){
System.out.println("I am the fixed parameters method.");
}
public static void main(String[] args){
Variable variable = new Variable();
variable.print();
System.out.println("---------------");
variable.print("one");
System.out.println("---------------");
variable.print("one", "two");
System.out.println("---------------");
variable.print("one", "two", "three");
}
}
执行结果:
Variable parameters is empty.
---------------
I am the fixed parameters method.
---------------
one
two
---------------
one
two
three