- 最好只在重载方法中使用一个可变参数列表,否则可能因为参数匹配问题报错。
public class Test1 {
static void f(float i, Character... args){
System.out.println("first");
}
static void f(Character... args){ //可能为零个参数
System.out.println("second");
}
public static void main(String[] args){
f(1, 'a');
//f('a', 'b');//因为两个重载方法都匹配f('a','b'),模棱两可,编译器报错。都匹配原因是'a'可自动转型为范围更大的float,所以第一个重载方法也匹配
}
}
- 可变参数必须是参数列表中最后一个