JDK5.0新特性的学习--可变长参数

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

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

2.  将参数作为一个数组传入。虽然这样我们只需一个方法即可,但是,为了传递这个数组,我们需要先声明一个数组,然后将参数一个一个加到数组中。
现在,我们可以使用可变长参数解决这个问题。

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

 public void mymethod(String arg1,Object… args)

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

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

例子:

java 代码
  1. public class Demo {   
  2.     
  3.  public void spark(String key,Object... args){   
  4.   for(Object o : args){   
  5.    System.out.println(o);   
  6.   }   
  7.  }   
  8.   
  9. public static void main(String[] args){     
  10.   
  11.   Demo d = new Demo();   
  12.   d.spark("key1""value1111111");   
  13.   d.spark("key2""value1111111","value222222");   
  14.   d.spark("key3""value1111111","value222222","value3333333");   
  15.   
  16. }   
  17.   
  18. }   
  19.   


注意:在研究变长参数的时候,我有一个同事说Object后有几个"."就有几个参数,经过验证他是错的,可以有N多个.

你可能感兴趣的:(java)