Я только что узнал об очень интересном трюке Java:
void method1(Integer... a){
}
Итак, вы можете дать этому методу столько целых чисел, сколько хотите.
Теперь, если у меня есть подобный (перегруженный) метод, например:
void method1(int a, int b){
}
Какой метод выполняется, когда я выполняю следующую строку:
method1(1, 2);
Ну, я мог бы найти это очень легко, просто проверив его с помощью разных инструкций метода, но когда я думаю о "правилах" в методах "перегрузки", я должен убедиться, что каждый перегруженный метод должен быть идентичным, чтобы компилятор точно знает, какой из них использовать.
По-моему, код выше не должен работать, потому что компилятор должен быть сбит с толку. Но когда я пытаюсь это сделать, это работает.
Итак, кто-нибудь знает немного больше информации об этом?