В чем разница между Collection <?> И Collection <T>

Я в основном разработчик C #, и я преподавал структуры данных моему другу, и они используют Java в своем университете, и я видел такое выражение в Java:

void printCollection(Collection<?> c) {
    for (Object e : c) {
        System.out.println(e);
    }
}

Я не видел такого в C #, поэтому мне интересно, в чем разница междуCollection<T> а такжеCollection<?> в Java?

void printCollection(Collection<T> c) {
    for (Object e : c) {
        System.out.println(e);
    }
}

Я думаю, что это тоже могло быть написано выше. Парень в документации сравнивалCollection<Object> а такжеCollection<T> хоть.

Примеры взяты изhttp://docs.oracle.com/javase/tutorial/extra/generics/wildcards.html

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

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