jdk1.5之后Java支持傳遞同類(lèi)型的可變參數(shù)給一個(gè)方法。
-
聲明方式:
typeName... VarName
即參數(shù)類(lèi)型 + ... + 參數(shù)名稱(chēng);
參數(shù)類(lèi)型可以為基本變量的封裝類(lèi)(Integer,Double,F(xiàn)loat,Character,String,Type,Long,),也可以是自定義類(lèi)(Person等)
- 可以變參數(shù)的實(shí)質(zhì)是:
可變參數(shù)在被使用的時(shí)候,他首先會(huì)創(chuàng)建一個(gè)數(shù)組,數(shù)組的長(zhǎng)度就是調(diào)用該方法是傳遞的實(shí)參的個(gè)數(shù),然后再把參數(shù)值全部放到這個(gè)數(shù)組當(dāng)中,然后再把這個(gè)數(shù)組作為參數(shù)傳遞到被調(diào)用的方法中。
因此我們可以把可變參數(shù)當(dāng)作數(shù)組使用:
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);
}
}
其實(shí)我們經(jīng)常用的System.out.println();中接受的就是可變參數(shù)。