31 Ekim 2015 Cumartesi

Reflection ile Generic Tipi Bulmak

Ata Sınıfın Type Parametresini Bulmak
Elimizde şöyle bir sınıf olsun.
public class SomeClass extends AdditionalClass<GenericClass> {
  ...
}
Bu sınıfın ata sınıfının hangi parametre ile kullanıldığını şöyle buluruz.
SomeClass object = new SomeClass();
Type parameterizedClassType = 
         ((ParameterizedType) object.getClass().getGenericSuperclass())
         .getActualTypeArguments()[0];
System.out.println(parameterizedClassType.getTypeName());
Çıktı olarak
com.whateverpackage.GenericClass
alırız.