共计 1185 个字符,预计需要花费 3 分钟才能阅读完成。
在 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 方法获取属性值。最后遍历输出属性名和属性值。
丸趣 TV 网 – 提供最优质的资源集合!
正文完