java 可變長引數 Object...object
阿新 • • 發佈:2019-01-29
有時候,我們傳入到方法的引數的個數是不固定的,為了解決這個問題,我們一般採用下面的方法:
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方法多個引數。
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方法多個引數。