signed

QiShunwang

“诚信为本、客户至上”

java获取实体类的属性名和属性值

2021/1/28 12:25:05   来源:

文章目录

  • Field是什么?
  • Field常用方法
  • Field获取实体类的属性名和属性值
    • 实现步骤
    • 输出结果

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获取实体类的属性名和属性值

实现步骤

  1. 获取实体类 返回的是一个数组 数组的数据就是实体类中的字段
  2. 添加setAccessible()因为的字段是用private修饰的
  3. 输出属性名和属性值
 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();
        }
    }

输出结果

在这里插入图片描述

梦想也许在今天无法实现,但重要的是,它在你心里。重要的是,你一直在努力,加油!!!