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

可變參數(shù)倒是比其中一個較好玩的東西:
?1public?class?test_varargs?{
?2????public?static?void?varargs(String??str){
?3????/*?
?4????????這里str參數(shù)前面有三個.?表示str為可變參數(shù)
?5????????程序處理時隱式的把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ù)后面加上三個"."。

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

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