有时候,我们传入到方法的参数的个数是不固定的,为了解决这个问题,我们一般采用下面的方法:
1. 重载,多重载几个方法,尽可能的满足参数的个数。显然这不是什么好办法。
2. 将参数作为一个数组传入。虽然这样我们只需一个方法即可,但是,为了传递这个数组,我们需要先声明一个数组,然后将参数一个一个加到数组中。 现在,我们可以使用可变长参数解决这个问题。
声明可变长参数方式如下:
public void mymethod(String arg1,Object… args) 也就是使用…将参数声明成可变长参数。
显然,可变长参数必须是最后一个参数。 例子: java 代码 - publicclass Demo {
-
- publicvoid spark(String key,Object... args){
- for(Object o : args){
- System.out.println(o);
- }
- }
-
- publicstaticvoid main(String[] args){
-
- Demo d = new Demo();
- d.spark("key1", "value1111111");
- d.spark("key2", "value1111111","value222222");
- d.spark("key3", "value1111111","value222222","value3333333");
-
- }
-
- }
-
注意:在研究变长参数的时候,我有一个同事说Object后有几个"."就有几个参数,经过验证他是错的,可以有N多个.
|