有时我们在定义一个方法时,方法参数设置可能会根据调用情况的不同,需要的参数个数也不同,这时候参数列表其实就需要可变长度的参数列表。
可变参数其实相当于数组参数,但是与其不同的是,可变参数在方法调用时,是可以不传递任何值的。
下面是可变参数方法的一个示例:
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.
可变长参数方法有时候既方便又实用,能将代码简化。