「Java」getDeclaredFieldsでクラスのメンバー変数を取得する

環境
JDK1.8
Eclipse2019

書式
public Field[] getDeclaredFields() throws SecurityException
このClassオブジェクトが表すクラスまたはインタフェースによって宣言されたすべてのフィールドをリフレクトするFieldオブジェクトの配列を返します。
これには、public、protected、デフォルト(package)アクセス、およびprivateフィールドは含まれますが、継承フィールドは含まれません。

使用例

package com.arkgame.study.java;

import java.lang.reflect.Field;

public class Cft {

      public static void main(String[] args) {
            
            
            Class<Users> ca = Users.class;
            
            //getDeclaredFieldメソッドでクラスのメンバー変数を取得
            Field[] fdArr = ca.getDeclaredFields();
            
            System.out.println("クラスのフィールドと型");
            for (Field fd : fdArr) {
                  System.out.println(fd);
            }

      }
}

//クラスUsers
class Users {
      int age;
      String username;
      long sno;
}

実行結果
クラスのフィールドと型
int com.arkgame.study.java.Users.age
java.lang.String com.arkgame.study.java.Users.username
long com.arkgame.study.java.Users.sno

Java

Posted by arkgame