Встречается на 8% собеседований по Java

Что такое Generics

Generics (обобщения) позволяют создавать классы, интерфейсы и методы с параметризованными типами, обеспечивая безопасность типов на этапе компиляции. Они помогают избежать ошибок ClassCastException и уменьшают необходимость приведения типов.

Пример:

java
List<String> strings = new ArrayList<>();
strings.add("Hello");
// strings.add(123); // Ошибка компиляции
String value = strings.get(0); // Не требуется приведение типов

Основные преимущества:

  • Проверка типов на этапе компиляции
  • Устранение приведения типов
  • Повышение читаемости кода
  • Поддержка полиморфизма через wildcards (?, ? extends T, ? super T)

Ограничения:

  • Нельзя создавать экземпляры generic-типов (new T())
  • Нельзя использовать примитивные типы (только их wrapper-классы)
  • Стирание типов (type erasure) во время выполнения

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы