Type Erasure — это механизм стирания информации о generic типах на этапе компиляции для обратной совместимости.
List<String> strings = new ArrayList<>();
List<Integer> integers = new ArrayList<>();
// В runtime оба имеют тип List
strings.getClass() == integers.getClass(); // true
🔹 Последствия:
— нельзя создать массив параметризованного типа;
— нельзя использовать instanceof с generics;
— невозможно получить параметр типа в runtime.
🐸 Библиотека собеса по Java
#core