<T extends Number> используется для ограничения типа параметра типа в классах и методах,
а <? extends Number> используется для ограничения типа элементов коллекций и массивов.
Таким образом, для коллекций следует использовать <? extends Number>, а для типов - <T extends Number>.
Wildcard используюься не "для ограничения типа элементов и массивов", а по причине того, что дженерики инвариантны. То есть даже если тип В является подтипом типа А, то дженерик от типа В не является подтипом дженерика от типа А. Пример:
На hyperskill параллельно курс проходишь? Там только 2 месяца бесплатно как я понял можно получить? Интересный ресурс, не знал об этой платформе. Расскажи, если не сложно чем она может быть полезна. На хабре пару статей нашел, но по итогу был вывод сто заде со скидной там 25$/месяц она того не стоит...
Я нашел hyperskill в июне и тогда курс был полностью бесплатным до нового года. После НГ была существенная скидка и стоимость снизилась, для тех кто обучался до НГ ,на 50% , то есть практически 1 в 1 как на джавараше со скидками. В целом курс там неплохой и объяснения толковые. Всегда во всех темах есть задания в виде тестов , где на вопрос надо выбрать одно или несколько решений. Есть задачи, где написан код и тебе в строке надо написать только результат. Есть и обычные задачи как тут. Валидатор там просто душечка, не докапывается вообще ни до чего. Ответ правильный - чудесно, ты сдал. А как ты это написал его особо не волнует. Я некоторые задания переписывал 2-5 разными способами и проверял чтобы каждый работал. Еще прямо на этапе проверки задания тебе с результатом , если он правильный, выдаст и замечания по стилистике кода. Где пробел лишний стоит, где табуляции не хватает, где { } посоветует перенести на другую строчку. Выполнять задания можно и в идее разумеется, достаточно на сайте нажать кнопку у задания и идея сама запускается с нужным заданием. Плагин конечно тоже надо ставить свой, но всё это мне показалось гораздо проще и удобнее чем здесь на JR. Единственное только друг мне всё же посоветовал сюда перейти, поскольку там задачи что я решал были несколько не актуальны для реальных условий. Хотя до каких-либо серьезных тем я так и не дошел. Прошел 25% курса джавы и полностью перешел сюда. Возможно сейчас что-то уже изменили. К слову теория там лучше усваивается за счет как раз заданий в конце каждой темы , где надо проходить тесты
Спасибо за развернутый ответ! Буду мониторить скидки, за полную стоимость дорого, а так можно проект средней сложности выбрать и пару месяцев бесплатно помучать после JR.
Пожалуйста. Проекты да, там тоже есть. Игры видел, бота для чата. Но не дошел до них, хотя можно было их решать независимо от обучения. И там еще темы взаимосвязаны. Если захочешь сразу коллекции проходить, то тебе подсказка будет, что ты еще какие-то темы подводящие к этой не прошел.
во второй задаче валидатор кривой, принял неправильное решение.
загенерил класс и в main сделал приведение типов (Number) GenericStatic.<Number>
someStaticMethod(new Integer(3))
хотя нужно генерик ставить в методе..
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ