一、
可变的参数类型,也称为不定参数类型。只需要声明方法时,用上三点...即可。通过它的名字可以很直接地看出来,这个方法在接收参数的时候,个数是不定的。那么好,现在就先来调用下这个方法。请看代码和输出:
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); -
} - }
输出:
1
1
通过main方法里的调用,可以看出来这个可变参数既可以是没有参数(空参数),也可以是不定长的。看到这里估计都能明白,这个不定长的参数其实和数组参数挺像的。当然也可以把main()改成这种形式。
二、引申:
请看下面的代码:
- public
class TestVarArgus { -
public static void dealArray(int... intArray){ -
System.out.println("1"); -
} -
-
public static void dealArray(int count, int... count2){ -
System.out.println("2"); -
} -
-
public static void main(String args[]){ -
dealArray(1, 2); -
} - }
代码贴出来估计都知道是输出2,而不是1。记住:能匹配定长的方法,那么优先匹配该方法。含有不定参数的那个重载方法是最后被选中的。