有時我們在定義一個方法時,方法參數設置可能會根據調用情況的不同,需要的參數個數也不同,這時候參數列表其實就需要可變長度的參數列表。
可變參數其實相當於數組參數,但是與其不同的是,可變參數在方法調用時,是可以不傳遞任何值的。
下面是可變參數方法的一個示例:
public static void doSomthing(String... args){
System.out.println(Thread.currentThread().getName() + "::begin.");
for(String arg:args){
System.out.println(Thread.currentThread().getName() + "::" + arg);
}
System.out.println(Thread.currentThread().getName() + "::end.");
}
我們寫個main方法來調用看看:
public static void main(String[] args) {
new Thread(){
public void run(){
Test.doSomthing();
}
}.start();
new Thread(){
public void run(){
Test.doSomthing("test");
}
}.start();
new Thread(){
public void run(){
Test.doSomthing("test1", "test2");
}
}.start();
}
運行結果:
Thread-0::begin.
Thread-0::end.
Thread-1::begin.
Thread-1::test
Thread-1::end.
Thread-2::begin.
Thread-2::test1
Thread-2::test2
Thread-2::end.
可變長參數方法有時候既方便又實用,能將代碼簡化。