jdk1.5之后Java支持传递同类型的可变参数给一个方法。
-
声明方式:
typeName... VarName
即参数类型 + ... + 参数名称;
参数类型可以为基本变量的封装类(Integer,Double,Float,Character,String,Type,Long,),也可以是自定义类(Person等)
- 可以变参数的实质是:
可变参数在被使用的时候,他首先会创建一个数组,数组的长度就是调用该方法是传递的实参的个数,然后再把参数值全部放到这个数组当中,然后再把这个数组作为参数传递到被调用的方法中。
因此我们可以把可变参数当作数组使用:
public static void main(String[] args) {
Person p1 = new Person("lisi");
Person p2 = new Person("wsf");
Show(p1,p2,p1);
}
public static void Show(Person...persons){
for(Person p : persons){
System.out.println(p);
}
}
其实我们经常用的System.out.println();中接受的就是可变参数。
网友评论