Java8にgetDeclaredFieldsメソッドでメンバー変数を取得する

2022年1月12日

環境
Eclipse 2019
Java8

関数
public Field getDeclaredField(String name) throws NoSuchFieldException,SecurityException
このClassオブジェクトが表すクラスまたはインタフェースの、指定された宣言されたフィールドをリフレクトするFieldオブジェクトを返します。nameパラメータは、要求されるフィールドに単純名を指定するStringです。
パラメータ:
name – フィールドの名前
戻り値:
このクラスに指定されたフィールドのFieldオブジェクト

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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};
}

実行結果

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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

 

Java

Posted by arkgame