Стирание типов
Вопрос
Что такое стирание типов (type erasure)?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
Ответ
Компилятор проверяет дженерики и затем удаляет параметры: T заменяется на границу (Object или Comparable), в местах использования вставляются приведения, при необходимости генерируются bridge-методы. В рантайме List<String> и List<Integer> один класс. Сделано ради совместимости со старым байткодом.
Разбор
Компилятор проверяет дженерики и затем удаляет параметры: T заменяется на границу (Object или Comparable), в местах использования вставляются приведения, при необходимости генерируются bridge-методы. В рантайме List<String> и List<Integer> один класс. Сделано ради совместимости со старым байткодом.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.