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

Для чего используется стирание типов

Стирание типов (type erasure) в Java используется для обеспечения обратной совместимости с кодом, написанным до Java 5 (когда дженериков не было). При компиляции информация о типах в дженериках удаляется: ```java List strings = new ArrayList<>(); List numbers = new ArrayList<>(); ``` После компиляции оба списка становятся просто `List`. Это позволяет: - Запускать дженерик-код на JVM без изменений в байт-коде. - Избежать дублирования кода для каждого типа (в отличие, например, от C++ шаблонов). **Ограничения:** - Нельзя создать массив дженериков (`new T[]`). - Нельзя использовать `instanceof` с параметризованными типами. - Нельзя перегружать методы только по типу параметра (`void foo(List)` и `void foo(List)` — ошибка компиляции). Пример: ```java // Во время выполнения тип T стирается до Object public T getFirst(List list) { return list.get(0); } ```
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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