Field是什么?
Field是一个类,位于java.lang.reflect包下。在Java反射中Field类描述的是类的属性信息,功能包括:
- 获取当前对象的成员变量的类型
- 对成员变量重新设值
Field常用方法
getType(): 获取属性声明时类型对象(返回class对象)
getGenericType() : 返回属性声的Type类型
getName() : 获取属性声明时名字
getAnnotations() : 获得这个属性上所有的注释
getModifiers() : 获取属性的修饰
isEnumConstant() : 判断这个属性是否是枚举类
isSynthetic() : 判断这个属性是否是 复合类
get(Object obj) : 取得obj对象这个Field上的值
set(Object obj, Object value) : 向obj对象的这个Field设置新值value
Field获取实体类的属性名和属性值
实现步骤
- 获取实体类 返回的是一个数组 数组的数据就是实体类中的字段
- 添加setAccessible()因为的字段是用private修饰的
- 输出属性名和属性值
User user = new User();
//获取实体类 返回的是一个数组 数组的数据就是实体类中的字段
Field[] fields = user.getClass().getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
//有的字段是用private修饰的 将他设置为可读
fields[i].setAccessible(true);
try {
// 输出属性名和属性值
System.out.println("属性名"+fields[i].getName()+"-----属性值"+fields[i].get(user));
catch (IllegalAccessException e) {
e.printStackTrace();
}
}
输出结果
梦想也许在今天无法实现,但重要的是,它在你心里。重要的是,你一直在努力,加油!!!