//创建的一个实体类
public class Person {
private int age;
private Integer age1;
private List<Integer> list;
}
反射过程
Class<?> aClass = null;
try {
//读取到类的class对象
aClass = Class.forName("com.code.Person");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//获取类的所有属性
Field[] declaredFields = aClass.getDeclaredFields();
//遍历所有属性字段
for (Field declaredField : declaredFields) {
//返回类型 包含泛型
Type genericType = declaredField.getGenericType();
System.out.println(genericType);
//返回类型,包括是类还是接口
Class<?> type = declaredField.getType();
System.out.println(type);
}
输出结果
int
int
class java.lang.Integer
class java.lang.Integer
java.util.List<java.lang.Integer>
interface java.util.List