可变参数列表
在jdk1.5版本里,加入了一个新的内容:可变参数列表。
定义:在定义方法时,为了应对方法的参数个数和类型不明确的情况下,可以使用可变参数。
格式:argType ... args,如String... args,int...args 等等。
使用格式如下:
使用时需要注意的事项:
1.由于编译器对可变参数列表的处理实际上会转化为对数组的处理,所以在同一个类中,方法签名相同的方法不能同时出现相同类型的数组参数与可变参数列表
如下图报错:
2.利用数组作为形参时,实参就必须传入对应形参类型的数组,而使用可变参数列表时,可以不传入,传入多个参数或者传入一个数组,但是参数类型或数组类型必须和可变参数列表的类型一致。
3.一个方法中只能有一个可变参数,并且可变参数必须作为方法的最后一个参数,否则编译器可能无法定位到具体传入哪一个参数,从而报错。
4.当同一个类中,出现可变参数的方法重载时,编译器会根据具体的参数来适配调用重载方法:
(1)固定参数与可变参数方法重载,此时编译器会选择调用固定参数的方法,例如:
输出结果:
(2)可变参数与可变参数方法重载,编译器会调用最明确匹配的方法,例如:
输出结果为: