每天学习点之反射Type

一般在开发过程中很多使用到对象的泛型继承,那么怎么可以获取到被继承的对象类型呢;

 

通过学习,这样获取:

 

BaseDao(){
		//返回表示此 Class 所表示的实体(类、接口、基本类型或 void)的直接超类的 Type
		Type en = this.getClass().getGenericSuperclass();
		//Type 是 Java 编程语言中所有类型的公共高级接口。它们包括原始类型、参数化类型、数组类型、类型变量和基本类型。
		//ParameterizedType 表示参数化类型,如 Collection<String>。
		Type[] ens = ((ParameterizedType)en).getActualTypeArguments();
		//ens 就是实例的对象
		for(Type t : ens){
			System.out.println(t);
		}
	}
 

你可能感兴趣的:(每天学习点之反射Type)