Generics Java - uzyskanie rzeczywistego typu parametru ogólnego

przeczytałemUzyskaj rodzaj ogólnego parametru w Javie z refleksją post i zastanawiałem się, jak to będzie możliwe. Użyłem rozwiązania, które ktoś opublikował i użył kodu

List<Integer> l = new ArrayList<>();
Class actualTypeArguments = (Class) ((ParameterizedType) l.getClass().getGenericSuperclass()).getActualTypeArguments()[0];

To jednak nie działa dla mnie, w wyniku czego

java.lang.ClassCastException: sun.reflect.generics.reflectiveObjects.TypeVariableImpl cannot be cast to java.lang.Class

Jeśli usunę rzut klasy, typ faktycznego argumentu toE, która jest definicją typu z interfejsu listy.

Moje pytanie brzmi zatem, czy robię tu coś złego? Takie zachowanie jest czymś, czego i tak bym się spodziewał, ponieważ typy mają być wymazywane podczas kompilacji, prawda?

questionAnswers(3)

yourAnswerToTheQuestion