Java エンティティの属性値を取得する方法【リフレクション活用】
Javaでは、リフレクションメカニズムを使用してエンティティクラスを反復処理し、プロパティ値を取得することができます。以下はサンプルコードです:
import java.lang.reflect.Field;
public class Main {
public static void main(String[] args) {
Person person = new Person("John", 30, "Male");
Class<?> clazz = person.getClass();
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
try {
System.out.println(field.getName() + ": " + field.get(person));
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
}
class Person {
private String name;
private int age;
private String gender;
public Person(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
}
この例では、まず最初にPersonクラスを作成し、Personオブジェクトをインスタンス化します。次にリフレクションを使用してPersonクラスのすべての属性を取得し、Fieldクラスのgetメソッドを使用して属性値を取得します。ただし、プライベートな属性の場合は、setAccessible(true)メソッドを呼び出してプライベート属性にアクセスできるようにする必要があります。