JDK 1.5 提供了可變量參數,每個方法只能提供一個類型作為可變參數,同時它必須
在參數列表的最后
適用條件:傳入到方法的參數的個數是不固定的,為了解決這個問題,通常了兩種方法
1.重載如:
Log.log(String code)
Log.log(String code,String arg)
Log.log(String code,String arg1,String arg2)
2.把參數作為一個數組傳入,聲明數組把參數一個一個的加到數組中去
Log.log(String code,String[] args)
自從有了可變參數列表,革命的面貌煥然一新,可變參數列表可以達到以一敵三或者以一敵百的效果
例:
用了可變參數,用下面方法可以替換前面四個方法
Log.log(String code,String... args)
聲明可變長參數方式如下:
public void mymethod(String arg1,Object… args)
也就是使用…將參數聲明成可變長參數。
顯然,可變長參數必須是最后一個參數。
請看下面唐僧師傅給悟空講佛經的例子:
package test;
public class Varargs1


{
public void speak(String name,Object
arguments)

{
for(Object object : arguments)

{
System.out.println(object);package test;
public class Varargs1
{
public void speak(String name,Object arguments)
{
for(Object object : arguments)
{
System.out.println(object);
}
}
public static void main(String[] args)
{
Varargs1 va = new Varargs1();
va.speak("悟空","人和妖精都是媽生的,");
va.speak("悟空","不同的人是人他媽生的,","妖是妖他媽生的,");
}
}
}
}

public static void main(String[] args)

{
Varargs1 va = new Varargs1();
va.speak("悟空","人和妖精都是媽生的,");
va.speak("悟空","不同的人是人他媽生的,","妖是妖他媽生的,");
}
}


public class Demo
{

private static int add(int
values)

{
int sum=0;
for(int n:values) // foreach也是JDK1.5新添加的遍歷成員的循環機制
sum+=n;
return sum;
}

/** *//**
* @param args
*/

public static void main(String[] args)
{
// TODO Auto-generated method stub
System.out.println(add(1,2,3,4,5)); //參數個數可變
System.out.println(add(1,2));
}
}
posted on 2008-05-09 16:08
doodoosun 閱讀(1258)
評論(1) 編輯 收藏 所屬分類:
Java