В чем причина выбора перегруженного метода? [закрыто]JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 В чем причина выбора перегруженного метода? [закрыто]

Сообщение Anonymous »

Есть код, который намеренно допускает ошибки при параметризации класса и методов! Но вопрос в том, почему получается второй способ, а не первый, я уже голову сломал, не могу понять, объясните пожалуйста!?
public static void main(String args) {
List integerList = Arrays.asList(1, 2, 3);
Gen gen = new Gen();

gen.m(integerList);
}

static class Gen {
void m(Collection collection) {
for (T s : collection) {
System.out.println(s);
}
}

void m(List list) {
for (String s : list) {
System.out.println(s);
}
}

}

Чтобы первый метод заработал, достаточно убрать параметр type в сигнатуре класса! Я тоже не до конца уверен в правильности хода своих мыслей!
static class Gen {
void m(Collection collection) {
for (T s : collection) {
System.out.println(s);
}
}

void m(List list) {
for (String s : list) {
System.out.println(s);
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... ded-method
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»