我刚刚发现了一个非常有趣的 Java 技巧:
void method1(Integer... a){
}
所以你可以给这个方法任意数量的整数。
现在,如果我有类似的(重载)方法,如下所示:
void method1(int a, int b){
}
当我执行以下行时运行哪个方法:
method1(1, 2);
好吧,我可以很容易地通过使用不同的方法指令对其进行测试来发现这一点,但是当我考虑“重载”方法中的“规则”时,我必须确保每个重载的方法必须相同,以便编译器知道究竟要使用哪一个。
在我看来,上面的代码不应该工作,因为编译器应该被混淆。但是当我尝试它时,它可以工作。
那么..有人知道更多关于此的背景信息吗?