一个通用的类,通过反射定义通用的方法,但是怎么在对象中获取泛型类中泛型定义的实际类型的Class呢?
public class GeneralClass<T>{
public void testMethod(){
在此处如何获取T的Class对象clazz
clazz.getDeclaredFields.....
}
}
使用通用类
GeneralClass<Date> gc=new GeneralClass<Date>();
gc.testMethod();
请问如何获取clazz?
参照下如下下写法:
public class GeneralClass<T> {
private Class<T> clazz;
public GeneralClass(Class<T> clazz) {
this.clazz = clazz;
}
public void testMethod() {
//在此处如何获取T的Class对象clazz
//clazz.getDeclaredFields.....
Field[] declaredFields = this.clazz.getDeclaredFields();
for (Field declaredField : declaredFields) {
System.out.println(declaredField.getName()+":"+declaredField.getType());
}
}
public static void main(String[] args) {
GeneralClass<Date> dateGeneralClass = new GeneralClass<Date>(Date.class);
dateGeneralClass.testMethod();
}
}
```java
```