Java は、エンティティ クラスの属性名と属性値を取得します。

フィールドとは

Field は、java.lang.reflect パッケージの下にあるクラスです。Java リフレクションでは、Field クラスはクラスの属性情報を記述し、その機能には次のものがあります。

  • 現在のオブジェクトのメンバー変数の型を取得します
  • メンバー変数のリセット

フィールド共通メソッド

getType(): 获取属性声明时类型对象(返回class对象)

getGenericType() : 返回属性声的Type类型

getName() : 获取属性声明时名字

getAnnotations() : 获得这个属性上所有的注释

getModifiers() : 获取属性的修饰

isEnumConstant() : 判断这个属性是否是枚举类

isSynthetic() : 判断这个属性是否是 复合类

get(Object obj) : 取得obj对象这个Field上的值

set(Object obj, Object value) : 向obj对象的这个Field设置新值value

フィールドは、エンティティ クラスの属性名と属性値を取得します

  1. エンティティ クラスを取得すると、配列が返されます。配列のデータは、エンティティ クラスのフィールドです。
  2. フィールドがプライベートで変更されているため、setAccessible() を追加します。
  3. 出力属性名と属性値

EntityUserVO


/**
 * @Author charles.yao
 * @Description
 * @Date 2022/12/26 22:45
 */
public class UserVO {
    private String name;
    private String lastName;
    private Integer age;

    public UserVO(String name, String lastName, Integer age) {
        this.name = name;
        this.lastName = lastName;
        this.age = age;
    }

    public UserVO() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

テストクラス

/**
 * @Author charles.yao
 * @Description
 * @Date 2022/12/26 22:46
 */
public class Test {
    public static void main(String[] args) {
        UserVO userVO  =new UserVO();
        userVO.setAge(11);
        userVO.setLastName("老张");
        userVO.setName("小名");
        //获取useroVo所有字段
        Field[] fields = userVO.getClass().getDeclaredFields();
        try {
            for (Field field : fields) {
                field.setAccessible(true);
                System.out.println("字段名称"+field.getName()+"=字段值"+field.get(userVO));
            }
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
    }
}

運用実績

字段名称name====字段值小名
字段名称lastName====字段值老张
字段名称age====字段值11

おすすめ

転載: blog.csdn.net/CharlesYooSky/article/details/128775662