Встречается на собеседованиях • сегодня

Что такое стирание типов

Стирание типов (type erasure) — это процесс, при котором компилятор Java удаляет информацию о generic-типах во время компиляции, заменяя их на их ограничения (обычно `Object` или указанный верхний bound) и добавляет необходимые проверки типов (type casts). Это обеспечивает совместимость с legacy-кодом, но ограничивает возможности работы с типами в runtime. Пример: ```java List strings = new ArrayList<>(); List numbers = new ArrayList<>(); // В runtime оба списка будут просто List System.out.println(strings.getClass() == numbers.getClass()); // true ``` Из-за стирания нельзя создать массив generic-типа (`new T[]`), проверить `instanceof` для `List` или получить класс generic-параметра в runtime. Для обхода ограничений иногда используют "костыли" с передачей `Class` в конструктор.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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