Variable argument function ambiguity
问题 public static void main(String[] args) { System.out.println(fun(2,3,4)); } static int fun(int a,int b,int c) { return 1; } static int fun(int ... a) { return 0; } Output: 1 Question: In the above case why does the function fun select the 1st function and not the second.On what basis is the selection done since there is no way to determine which fun the user actually wanted to call ? 回答1: Basically there's a preference for a specific call. Aside from anything else, this means it's possible to