Javaのリフレクションでオブジェクトのプロパティを取得する方法
Javaのリフレクションを使用すると、オブジェクトのプロパティを取得できます。手順は次のとおりです。
- import java.lang.reflect.Field;
- クラス情報取得
- Class<?> clazz = Class.forName(“クラスの完全修飾名”);
- getDeclaredField()
- getField()
- Field field = clazz.getDeclaredField(“プロパティ名”);
- field.setAccessible(true);
- フィールド.get()
- Object value = field.get(オブジェクトインスタンス);
ネイティブに完全なサンプルコードを以下に示します。
import java.lang.reflect.Field;
public class Main {
public static void main(String[] args) throws Exception {
// 获取Class对象
Class<?> clazz = Class.forName("类的全限定名");
// 获取属性对象
Field field = clazz.getDeclaredField("属性名称");
// 设置允许访问私有属性
field.setAccessible(true);
// 获取属性值
Object value = field.get(对象实例);
System.out.println(value);
}
}
リフレクションでプロパティの値を取得する際には、 NoSuchFieldExceptionやIllegalAccessExceptionなどの例外の処理に注意が必要です。