Захват подстановочных знаков в дженериках Java

Отэтот Oracle Java, учебник:

Пример WildcardError создает ошибку захвата при компиляции:

public class WildcardError {

    void foo(List i) {
        i.set(0, i.get(0));
    }
}

После этой ошибки они решают проблему с помощью вспомогательного метода:

public class WildcardFixed {
    void foo(List i) {
        fooHelper(i);
    }

    // Helper method created so that the wildcard can be captured
    // through type inference.
    private  void fooHelper(List l) {
        l.set(0, l.get(0));
    }
}

Сначала говорят, что входной параметр списка (i) рассматривается как:Object

В этом примере компилятор обрабатываетi входной параметр имеет тип объекта.

Тогда почемуi.get(0) не возвращаетObject? если это уже было передано как таковое?

Кроме того, какой смысл использовать когда тогда вы должны использовать вспомогательный метод, используя, Не лучше было бы использовать напрямуюT что можно сделать вывод?

Ответы на вопрос(1)

Ваш ответ на вопрос