阅读量:2
在Java中,可以使用反射来遍历实体类并获取属性值。下面是一个示例代码:
import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class Main { public static void main(String[] args) { // 创建实例对象 Person person = new Person("John", 25, "Male"); // 获取实例对象的Class对象 Class<?> clazz = person.getClass(); // 获取所有的字段(Field) Field[] fields = clazz.getDeclaredFields(); // 遍历字段 for (Field field : fields) { // 获取字段名 String fieldName = field.getName(); // 构造对应的get方法名 String getMethodName = "get" + fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1); try { // 获取对应的get方法 Method getMethod = clazz.getMethod(getMethodName); // 调用get方法获取属性值 Object value = getMethod.invoke(person); // 输出属性名和属性值 System.out.println(fieldName + ": " + value); } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException 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; } public String getName() { return name; } public int getAge() { return age; } public String getGender() { return gender; } }
上述代码中,通过反射获取实例对象的Class对象,然后使用getDeclaredFields()
方法获取所有的字段(Field),再通过构造对应的get方法名,使用反射获取对应的get方法,并调用get方法获取属性值。最后遍历输出属性名和属性值。