posts - 12,  comments - 2,  trackbacks - 0

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

FeedBack:
# re: JDK 5 中新特性 可变参数列表[未登录]
2008-05-10 09:02 | 护航
你这里没用到foreach啊  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 

<2008年5月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

留言簿(1)

随笔分类(6)

随笔档案(11)

文章分类(30)

文章档案(34)

搜索

  •  

最新评论

阅读排行榜

评论排行榜