Что такое дженерики в Java

В этой лекции мы говорим о дженериках. А точнее, об основах, которые тебе нужно знать, погружаясь в дженерики: что это такое и зачем вообще нужно. Тема очень важная, разобраться в ней точно нужно, так что вперед!

Дженерики на котиках

Дженерики — прекрасное средство, которое помогает разработчикам подсказывать компилятору дополнительную информацию для обеспечения типобезопасности и гибкости. Еще один “заплыв” в сторону дженериков — в этой подробной статье от участника сообщества JavaRush.

Стирание типов

Эта лекция посвящена некоторым особенностям дженериков и подводным камням при работе с ними. Из-за того, что дженерики не были частью языка Java при его создании, добавлено стирание типов. Что это такое? Разбираемся.

Wildcards в generics

Wildcards — очень важная фишка дженериков, которая точно заслуживает отдельной лекции. Тема это интересная и несложная, тебе понравится :)

Использование varargs при работе с дженериками

У применения varargs с дженериками могут быть весьма неприятные последствия — загрязнение кучи. В данной лекции завершаем разбор разных особенностей дженериков в Java.


Дополнительный разбор

undefined
4
Задача
Java Core, 5 уровень, 4 лекция
Недоступна
Что-то лишнее
И снова наша программа полна ненужных строк кода. Исправим эту оплошность, и удалим реализации всех лишних методов, чтобы программа выводила то, и только то, что требует условие. Кстати, привыкайте к этому, страсть "джунов" делать лишнее изрядно раздражает "старших".
undefined
8
Задача
Java Core, 5 уровень, 4 лекция
Недоступна
ООП - Перегрузка
Давайте печатать матрицы по-разному, как только пожелаем. Для этого у нас есть замечательный инструмент ООП — перегрузка. Перегрузите метод printMatrix 8 различными способами. В итоге должно получиться 10 различных методов printMatrix.
undefined
4
Задача
Java Core, 5 уровень, 4 лекция
Недоступна
ООП - Перегрузка - убираем лишнее
Не всякая перегрузка метода приносит пользу. Вот так и в этой программе. Давайте посмотрим на её код, и подумаем, какая из реализаций метода print будет вызвана. Затем удалите все лишние реализации этого метода — и дело с концом.
undefined
4
Задача
Java Core, 5 уровень, 4 лекция
Недоступна
Мужчина или женщина?
Что-то в этой программе не так... Имена мужчин она вроде как печатает, а вот женские — нет. Долой дискриминацию: измените метод printName так, чтобы он выполнялся и для man, и для woman. Реализация метода должна быть одна.
undefined
4
Задача
Java Core, 5 уровень, 4 лекция
Недоступна
Все лишнее - прочь!
И снова у нас в программе завелись лишние строки, которые приводят к ошибке, пытаясь вызвать метод add для тех случаев, для которых он не реализован. На этот раз мы не будем переопределять дополнительные методы add, а поступим проще: удалим те строки, для которых он не реализован.