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 阅读(1250)
评论(1) 编辑 收藏 所属分类:
Java