什么叫做可变长参数:可变长参数就是我们给一个函数传参的时候,我们不确定具体传参的个数,就可以使用可变长参数,其本质就是一个数组
package test1;import java.util.LinkedList;public class testTest {public static void main(String[] args) {// TODO Auto-generated method stubfor(int i=0;i<args.length;i++) {System.out.print(i);} multiplyArguments(1,2,3,4,5,6,7,8,9);}//传入的是不确定个数的int型参数//注意可变长参数的赋值顺序是按照从左到右一次进行的public static void multiplyArguments(int a, int b, int ... nums) {System.out.println("a="+a);System.out.println("b="+b);for(int i=0;i<nums.length;i++) {System.out.print(nums[i]+" ");}System.out.println();}}
可变长参数之间重载的问题
package test1;import java.util.LinkedList;public class testTest {public static void main(String[] args) {// TODO Auto-generated method stubfor(int i=0;i<args.length;i++) {System.out.print(i);} //multiplyArguments(1,2,3,4,5,6,7,8,9);//走的是参数为int的函数multiplyArguments(1.0,2,3,4,5,6,7,8,9);//走的是参数为double的函数}//传入的是不确定个数的int型参数//注意可变长参数的赋值顺序是按照从左到右一次进行的public static void multiplyArguments(double a, int b, int ... nums) {System.out.println("a="+a);System.out.println("b="+b);for(int i=0;i<nums.length;i++) {System.out.print(nums[i]+" ");}System.out.println();}public static void multiplyArguments(int a, int b, int ... nums) {System.out.println("a="+a);System.out.println("b="+b);for(int i=0;i<nums.length;i++) {System.out.print(nums[i]+" ");}System.out.println();}}