Что такое type erasure в Java?

Middle
290 просмотров
AFK Offer AI

Type erasure — стирание информации о дженерик-типах при компиляции. List в байткоде становится просто List, а T заменяется на Object (или на bound, если есть → Number). Компилятор вставляет касты автоматически. Из-за этого нельзя: new T(), instanceof List, создать массив дженерик-типа. Это наследие обратной совместимости — Java 5 дженерики должны были работать с кодом Java 4.

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

Что такое connection pool leak и как диагностировать?