31 Ekim 2015 Cumartesi

ParameterizedType Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.lang.reflect.ParameterizedType;
Açıklaması şöyle.
By using the standard Java reflection API we can detect the generic types of methods and classes. If we have a method that returns a List<String>, we can use reflection to obtain the return type of that method – a ParameterizedType representing List<String>.
Örnek - Reflection ile Ata Sınıfın Generic Tipini 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 şunu alırız
com.whateverpackage.GenericClass