When varargs started to not conflict with no-arg?
问题 Today I found that the following code compiles and runs with no any warning: public class Try_MultipleArguments2 { public static void main(String[] args) { myfunction(); myfunction(1, 2, 3); } public static void myfunction(int ... as) { System.out.println("varags called"); } public static void myfunction() { System.out.println("noarg called"); } } I am remembering clear, that it was not so earlier. Is this JVM change or my memory glitch??? How it distinguish between no-arg and varargs? UPDATE