woaidongmao

文章均收录自他人博客,但不喜标题前加-[转贴],因其丑陋,见谅!~
随笔 - 1469, 文章 - 0, 评论 - 661, 引用 - 0
数据加载中……

JAVA可变长参数

有时候,我们传入到方法的参数的个数是不固定的,为了解决这个问题,我们一般采用下面的方法:

1.重载,多重载几个方法,尽可能的满足参数的 个数。显然这不是什么好办法。

2.将参数作为一个数组传入。虽然这样我们只需一个方法即可,但是,为了传递这个数组,我们需要先声明一个数组,然后将参数一个一个加到数 组中。

现在,我们可以使用可变长参数解决这个问题。

声明可变长参数方式如下:

public void mymethod (Stringarg1,Object args)

也就是使用…将参数声明成可变长参数。

显然,可变长参数必须是最后一个参数。

请看 下面唐僧师傅给悟空讲佛经的例子:

 

package com.ywz;

public class Varargs{

public void speak (String name,Object... arguments){

for(Object object : arguments) {

System.out.println(object);

}

}

public static void main(String[] args) {

Varargs va = new Varargs();

va.speak("悟空","人和妖精都是妈生的,");

va.speak("悟空","不同的人是人他妈生的,","妖是妖他妈生的,");

}

}

结果

clip_image001

这个方法很好的解决了我们传递不确定个数的参数.当然 Object... arguments中的Object 也可以换成自己写的类.

 

 

对于for(Object object : arguments),为什么能这样写?

这样的写法,好像是在JAVA1.5中加入的新特性,也就是相当于:

for(int i=0;i<arguments.length;i++){

Object object = arguments[i];

}

知道怎样用就行了.

 

posted on 2009-08-03 20:06 肥仔 阅读(464) 评论(0)  编辑 收藏 引用 所属分类: Web-后台


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理