1. 程式人生 > >java 可變長引數 Object...object

java 可變長引數 Object...object

有時候,我們傳入到方法的引數的個數是不固定的,為了解決這個問題,我們一般採用下面的方法:

1.  過載,多過載幾個方法,儘可能的滿足引數的個數。顯然這不是什麼好辦法。

2.  將引數作為一個數組傳入。雖然這樣我們只需一個方法即可,但是,為了傳遞這個陣列,我們需要先宣告一個數組,然後將引數一個一個加到陣列中。

現在,我們可以使用可變長引數解決這個問題。

宣告可變長引數方式如下:

public void mymethod(String arg1,Object… args)

也就是使用…將引數宣告成可變長引數。

顯然,可變長引數必須是最後一個引數。

請看下面唐僧師傅給悟空講佛經的例子:

package com.kuaff.jdk5;

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("悟空","不同的人是人他媽生的,","妖是妖他媽生的,");

    }
}
其中speak中的引數被宣告成可變長的引數,所以你可以傳遞給speak方法多個引數。