JAVA5提出的新思想,基于新的for循環(huán)結(jié)構(gòu):for(String str : strList){ ... }所產(chǎn)生了一系列的新奇東東,包括范型Collection<Object> ,還有可變參數(shù) 等等
不過我覺得可能是Collection的范型支持先出現(xiàn),然后才引入了這種迭代結(jié)構(gòu)

可變參數(shù)倒是比其中一個(gè)較好玩的東西:
?1public?class?test_varargs?{
?2????public?static?void?varargs(String??str){
?3????/*?
?4????????這里str參數(shù)前面有三個(gè).?表示str為可變參數(shù)
?5????????程序處理時(shí)隱式的把str看作是str[]
?6????????所以下面可以用處理數(shù)組的方法處理參數(shù)
?7????*/

?8????????for(String?strTmp:str){
?9????????????System.out.println("參數(shù)::"+strTmp);
10????????}

11????}
????
12????public?static?void?main(String[]?args)?{
13????????varargs("1:Hello","eqwe","ewq12123","ccccc");
14????}

15}

像上面的這樣,可變參數(shù)就是在普通的參數(shù)后面加上三個(gè)"."。

我沒有發(fā)現(xiàn)可變參數(shù)有什么太大的用處,在J2EE的框架開發(fā)中幾乎用不到,不過當(dāng)有時(shí)候我們不確定參數(shù)到底有幾個(gè)時(shí)倒是可以用這種方式來代替以往傳遞一個(gè)數(shù)組的方式。

可變參數(shù)同時(shí)可以跟固定的參數(shù)混合使用。
但同時(shí)可變參數(shù)有一些限制:一個(gè)方法的參數(shù)中不能同時(shí)擁有2種類型的可變參數(shù),也就是說:
public void foo(String ... str,Integer ... i)這樣是不行的