可变参数时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