可变参数时Java 1.5新增的方法,可变参数方法接收0个或者多个指定类型的参数,可变参数机制通过先创建一个数组,数组的大小为在调用位置所传递的参数数量,然后将参数值传到数组中,最后将数组传递给方法。如:
1
2
3
4
5
6
7
8
9
|
public class Test{
public int sum( int ... args) {
int sum = 0 ;
for ( int arg : args) {
sum += arg;
}
return sum;
}
}
|
可变参数提供了方便,但是使用可变参数时需要特别小心,可变参数方法的每次调用都会导致进行一次数组的分配和初始化,如果方法被多次调用对性能的影响会很大,但有一种方式可以适当的解除这种问题。假设确定对某个方法95%的调用会有3个或者更少的参数,就申明该方法的5个重载每个重载方法带有0至3个普通参数,当参数的数目超过3个时,就使用一个可变参数方法:
1
2
3
4
5
6
7
8
|
public class Test{
public void method(){}
public void method( int a1){}
public void method( int a1, int a2){}
public void method( int a1, int a2, int a3){}
public void method( int a1, int a2, int a3, int ... args){}
}
|
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:https://my.oschina.net/feinik/blog/842447