Java8にgetDeclaredFieldsメソッドでメンバー変数を取得する
環境
Eclipse 2019
Java8
関数
public Field getDeclaredField(String name) throws NoSuchFieldException,SecurityException
このClassオブジェクトが表すクラスまたはインタフェースの、指定された宣言されたフィールドをリフレクトするFieldオブジェクトを返します。nameパラメータは、要求されるフィールドに単純名を指定するStringです。
パラメータ:
name – フィールドの名前
戻り値:
このクラスに指定されたフィールドのFieldオブジェクト
使用例
package com.arkgame.bat;
import java.lang.reflect.Field;
public class FieldsDemo {
public static void main(String[] args) {
Class<User> cu = User.class;
// クラスのメンバー変数を取得します
Field[] fd = cu.getDeclaredFields();
//for文で取得した体を表示
for (Field t : fd) {
System.out.println(t);
}
}
}
//クラスUserの定義
class User {
private String username = "yamada";
private int age = 23;
private double[] item = {1.21,2.31,3.45};
}
package com.arkgame.bat;
import java.lang.reflect.Field;
public class FieldsDemo {
public static void main(String[] args) {
Class<User> cu = User.class;
// クラスのメンバー変数を取得します
Field[] fd = cu.getDeclaredFields();
//for文で取得した体を表示
for (Field t : fd) {
System.out.println(t);
}
}
}
//クラスUserの定義
class User {
private String username = "yamada";
private int age = 23;
private double[] item = {1.21,2.31,3.45};
}
package com.arkgame.bat; import java.lang.reflect.Field; public class FieldsDemo { public static void main(String[] args) { Class<User> cu = User.class; // クラスのメンバー変数を取得します Field[] fd = cu.getDeclaredFields(); //for文で取得した体を表示 for (Field t : fd) { System.out.println(t); } } } //クラスUserの定義 class User { private String username = "yamada"; private int age = 23; private double[] item = {1.21,2.31,3.45}; }
実行結果
private java.lang.String com.arkgame.bat.User.username
private int com.arkgame.bat.User.age
private double[] com.arkgame.bat.User.item
private java.lang.String com.arkgame.bat.User.username
private int com.arkgame.bat.User.age
private double[] com.arkgame.bat.User.item
private java.lang.String com.arkgame.bat.User.username private int com.arkgame.bat.User.age private double[] com.arkgame.bat.User.item