public
class TestVarArgus {
? public static void dealArray(int... intArray){
? for (int i : intArray)
? System.out.print(i +" ");
?
? System.out.println();
? }
?
? public static void main(String args[]){
? dealArray();
? dealArray(1);
? dealArray(1, 2, 3);
? }
?}
可以看出来这个可变参数既可以是没有参数(空参数),也可以是不定长的。看到这里估计都能明白,这个不定长的参数其实和数组参数挺像的。事实上,也确实是这么回事儿。编译器会在悄悄地把这最后一个形参转化为一个数组形参,并在编译出的class文件里作上一个记号,表明这是个实参个数可变的方法。请看代码:
dealArray(); //dealArray(int[] intArray{});
? dealArray(1); //dealArray(int[] intArray{1});
? dealArray(1, 2, 3); //dealArray(int[] intArray{1, 2, 3});
转:https://blog.csdn.net/testcs_dn/article/details/38920323