「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