public class OverLoadingVarargs2 { /**
 * @param args
 */
static void f(float i,Character...args){ System.out.println("first");
}
static void f(Character...args){ System.out.println("third");
}
public static void main(String[] args) { f(1,'a');
//引起歧义ambiguous
f('a','b');

}}以上代码编译出错,两个函数引发歧义,但不知道为什么?请各位指点,谢谢(我在看《Thinking in java》遇到的)