在Java中,不定参数是指方法的参数数量可以变化的情况。其原理是引入的参数会以数组的形式被存储。
通过 "dataType... variableName" 的语法来声明不定参数, 这种参数在参数列表的最后一个位置上。
public void method(int... numbers) { // Your code here }
数字代表着not参数,而不定参数会被自动转换为数组,可以使用数组的所有功能对其进行操作。例如:
public void method(int... numbers) { for (int number : numbers) { System.out.println(number); } }
虽然不定参数必须在参数列表的最后位置,但也可以与其他参数混合使用。
public void mixMethod(String message, int... numbers) { System.out.println(message); for (int number : numbers) { System.out.println(number); } }
在实际调用混合参数的方法时,首先传入非不定参数,然后传入不定参数。
mixMethod("Here are some numbers:", 1, 2, 3, 4, 5);
但也有一种情况,有时会将一个数组传入一个接收不定个参数的方法。
int[] numbers = new int[]{1, 2, 3, 4, 5}; mixMethod("Here are some numbers:", numbers);
如果直接向前面的例子中的method方法传入一个数组,会出现编译失败的情况,因为Java会尝试寻找一个接受数组的具体方法(如果存在),而不是将数组当作不定参数。在这种情况下,需要有一个合适的方法覆盖如果需要直接传入数组。
本文链接:http://task.lmcjl.com/news/1316.html