Почему здесь ошибка компиляции в строке THREE?

 
 
 
Сообщения:55
class WildCard {
interface BI {}
interface DI extends BI {}
interface DDI extends DI {}

static class C<T> {}

static void foo(C<? super DI> с) {}

public void call() {
foo(new C<BI>()); //ONE
foo(new C<DI>()); //TWO
foo(new C<DDI>()); //THREE
foo(new C()); //FOUR
}
}

вЕДЬ КОМПИЛЯТОР НЕ ВИДИТ ПАРАМЕТРИЗАЦИИ. ДОЛЖНА БЫТЬ ОШИБКА ВРЕМЕНИ ВЫПОЛНЕНИЯ

Сидящих за твоим столом ты не спеши назвать Друзьями...

Их проверяют не вином.... А горем... помощью... годами....
 
 
Сообщения:1057
генерики стираются на этапе компиляции, а до неё они очень даже видны.
 
 
Сообщения:55
windruf:
генерики стираются на этапе компиляции, а до неё они очень даже видны.

ясно,спасибо:)

Сидящих за твоим столом ты не спеши назвать Друзьями...

Их проверяют не вином.... А горем... помощью... годами....
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет